//===-- sanitizer_bitvector.h -----------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Specializer BitVector implementation. // //===----------------------------------------------------------------------===// #ifndef SANITIZER_BITVECTOR_H #define SANITIZER_BITVECTOR_H #include "sanitizer_common.h" namespace __sanitizer { // Fixed size bit vector based on a single basic integer. template <class basic_int_t = uptr> class BasicBitVector { … }; // Fixed size bit vector of (kLevel1Size*BV::kSize**2) bits. // The implementation is optimized for better performance on // sparse bit vectors, i.e. the those with few set bits. template <uptr kLevel1Size = 1, class BV = BasicBitVector<> > class TwoLevelBitVector { … }; } // namespace __sanitizer #endif // SANITIZER_BITVECTOR_H