| /* |
| * Copyright 1999-2004 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include "XalanBitmap.hpp" |
| |
| |
| |
| #include <algorithm> |
| |
| |
| |
| XALAN_CPP_NAMESPACE_BEGIN |
| |
| |
| |
| // Pre-constructed masks for bit twiddling. Update these if not using chars for storing the bits. |
| const int XalanBitmap::s_setMasks[XalanBitmap::eBitsPerUnit] = { 1, 2, 4, 8, 16, 32, 64, 128 }; |
| const int XalanBitmap::s_clearMasks[XalanBitmap::eBitsPerUnit] = { ~1, ~2, ~4, ~8, ~16, ~32, ~64, ~128 }; |
| |
| |
| |
| XalanBitmap::XalanBitmap(size_type theSize) : |
| m_size(theSize), |
| m_bitmap(size_type((theSize + eBitsPerUnit) / eBitsPerUnit), BitmapVectorType::value_type(0)) |
| { |
| } |
| |
| |
| |
| XalanBitmap::~XalanBitmap() |
| { |
| } |
| |
| |
| |
| void |
| XalanBitmap::clearAll() |
| { |
| XALAN_STD_QUALIFIER fill(m_bitmap.begin(), m_bitmap.end(), '\0'); |
| } |
| |
| |
| |
| XALAN_CPP_NAMESPACE_END |