Public Member Functions

graphlab::fixed_dense_bitset< len > Class Template Reference

#include <dense_bitset.hpp>

List of all members.

Public Member Functions

 fixed_dense_bitset ()
 Constructs a bitset of 0 length.
 fixed_dense_bitset (const fixed_dense_bitset &db)
 Make a copy of the bitset db.
 ~fixed_dense_bitset ()
 destructor
fixed_dense_bitsetoperator= (const fixed_dense_bitset &db)
 Make a copy of the bitset db.
void clear ()
 Sets all bits to 0.
void fill ()
 Sets all bits to 1.
void prefetch (uint32_t b) const
 Prefetches the word containing the bit b.
bool get (uint32_t b) const
 Returns the value of the bit b.
bool set_bit (uint32_t b)
 Atomically sets the bit at b to true returning the old value.
bool set_bit_unsync (uint32_t b)
bool set (uint32_t b, bool value)
bool set_unsync (uint32_t b, bool value)
bool clear_bit (uint32_t b)
 Atomically set the bit at b to false returning the old value.
bool clear_bit_unsync (uint32_t b)
bool first_bit (uint32_t &b)
bool next_bit (uint32_t &b)
size_t size () const
 Returns the number of bits in this bitset.
void save (oarchive &oarc) const
 Serializes this bitset to an archive.
void load (iarchive &iarc)
 Deserializes this bitset from an archive.

Detailed Description

template<int len>
class graphlab::fixed_dense_bitset< len >

Like bitset, but of a fixed length as defined by the template parameter

Definition at line 277 of file dense_bitset.hpp.


Member Function Documentation

template<int len>
bool graphlab::fixed_dense_bitset< len >::clear_bit_unsync ( uint32_t  b  )  [inline]

Clears the state of the bit returning the old value. This version uses a non-atomic set which is faster, but is unsafe if accessed by multiple threads.

Definition at line 376 of file dense_bitset.hpp.

template<int len>
bool graphlab::fixed_dense_bitset< len >::first_bit ( uint32_t &  b  )  [inline]

Returns true with b containing the position of the first bit set to true. If such a bit does not exist, this function returns false.

Definition at line 391 of file dense_bitset.hpp.

template<int len>
bool graphlab::fixed_dense_bitset< len >::next_bit ( uint32_t &  b  )  [inline]

Where b is a bit index, this function will return in b, the position of the next bit set to true, and return true. If all bits after b are false, this function returns false.

Definition at line 405 of file dense_bitset.hpp.

template<int len>
bool graphlab::fixed_dense_bitset< len >::set ( uint32_t  b,
bool  value 
) [inline]

Set the state of the bit returning the old value. This version uses a non-atomic set which is faster, but is unsafe if accessed by multiple threads.

Definition at line 347 of file dense_bitset.hpp.

template<int len>
bool graphlab::fixed_dense_bitset< len >::set_bit_unsync ( uint32_t  b  )  [inline]

Set the bit at position b to true returning the old value. Unlike set_bit(), this uses a non-atomic set which is faster, but is unsafe if accessed by multiple threads.

Definition at line 333 of file dense_bitset.hpp.

template<int len>
bool graphlab::fixed_dense_bitset< len >::set_unsync ( uint32_t  b,
bool  value 
) [inline]

Set the state of the bit returning the old value. This version uses a non-atomic set which is faster, but is unsafe if accessed by multiple threads.

Definition at line 356 of file dense_bitset.hpp.


The documentation for this class was generated from the following file: