libgrape-lite
A C++ library for parallel graph processing
Public Member Functions | Private Attributes | List of all members
grape::Bitset Class Reference

Bitset is a highly-optimized bitset implementation. More...

#include <bitset.h>

Inheritance diagram for grape::Bitset:
grape::DefaultAllocator< _Tp >

Public Member Functions

 Bitset (size_t size)
 
 Bitset (const Bitset &other)
 
 Bitset (Bitset &&other)
 
Bitsetoperator= (const Bitset &other)
 
Bitsetoperator= (Bitset &&other)
 
void init (size_t size)
 
void clear ()
 
void resize (size_t size)
 
void copy (const Bitset &other)
 
void parallel_clear (ThreadPool &thread_pool)
 
bool empty () const
 
bool partial_empty (size_t begin, size_t end) const
 
bool get_bit (size_t i) const
 
void set_bit (size_t i)
 
bool set_bit_with_ret (size_t i)
 
void reset_bit (size_t i)
 
bool reset_bit_with_ret (size_t i)
 
void swap (Bitset &other)
 
size_t count () const
 
size_t parallel_count (ThreadPool &thread_pool) const
 
size_t partial_count (size_t begin, size_t end) const
 
size_t parallel_partial_count (ThreadPool &thread_pool, size_t begin, size_t end) const
 
uint64_t get_word (size_t i) const
 
const uint64_t * get_word_ptr (size_t i) const
 
size_t cardinality () const
 
- Public Member Functions inherited from grape::DefaultAllocator< _Tp >
 DefaultAllocator (const DefaultAllocator &) noexcept
 
 DefaultAllocator (DefaultAllocator &&) noexcept
 
DefaultAllocatoroperator= (const DefaultAllocator &) noexcept
 
DefaultAllocatoroperator= (DefaultAllocator &&) noexcept
 
pointer allocate (size_type __n)
 
void deallocate (pointer __p, size_type)
 

Private Attributes

uint64_t * data_
 
size_t size_
 
size_t size_in_words_
 

Additional Inherited Members

- Public Types inherited from grape::DefaultAllocator< _Tp >
using pointer = _Tp *
 
using size_type = size_t
 
using value_type = _Tp
 

Detailed Description

Bitset is a highly-optimized bitset implementation.