bm::miniset< A, N > Class Template Reference
[Small sets functionality]

Search Toolkit Book for bm::miniset

#include <bmvmin.h>

List of all members.


Detailed Description

template<class A, size_t N>
class bm::miniset< A, N >

Template class implements memory saving set functionality.

Template can be used as template parameter for bvector if we want to tune bvector for minimal memory consumption.

See also:
bvmini

Definition at line 53 of file bmvmin.h.

Public Member Functions

 miniset ()
 miniset (const miniset &mset)
 ~miniset ()
unsigned test (bm::id_t n) const
 Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise.
void set (bm::id_t n, bool val=true)
unsigned mem_used () const
void swap (miniset &mset)

Private Member Functions

void init_bitbuf (bm::word_t *buf)
void init_gapbuf (bm::word_t *buf)
void convert_buf ()

Private Attributes

bm::word_tm_buf
 Buffer pointer.
unsigned m_type
 buffer type (0-bit, 1-gap)


Constructor & Destructor Documentation

template<class A, size_t N>
bm::miniset< A, N >::miniset  )  [inline]
 

Definition at line 57 of file bmvmin.h.

template<class A, size_t N>
bm::miniset< A, N >::miniset const miniset< A, N > &  mset  )  [inline]
 

Definition at line 62 of file bmvmin.h.

References bm::miniset< A, N >::init_bitbuf(), bm::miniset< A, N >::init_gapbuf(), bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

template<class A, size_t N>
bm::miniset< A, N >::~miniset  )  [inline]
 

Definition at line 78 of file bmvmin.h.

References BM_MINISET_ARRSIZE, BM_MINISET_GAPLEN, bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.


Member Function Documentation

template<class A, size_t N>
void bm::miniset< A, N >::convert_buf  )  [inline, private]
 

Definition at line 189 of file bmvmin.h.

References BM_MINISET_ARRSIZE, BM_MINISET_GAPLEN, buf, bm::gap_convert_to_bitset(), bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

Referenced by bm::miniset< A, N >::set().

template<class A, size_t N>
void bm::miniset< A, N >::init_bitbuf bm::word_t buf  )  [inline, private]
 

Definition at line 157 of file bmvmin.h.

References BM_MINISET_ARRSIZE, bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

Referenced by bm::miniset< A, N >::miniset(), and bm::miniset< A, N >::set().

template<class A, size_t N>
void bm::miniset< A, N >::init_gapbuf bm::word_t buf  )  [inline, private]
 

Definition at line 172 of file bmvmin.h.

References BM_MINISET_GAPLEN, bm::gap_max_bits, bm::gap_set_all(), bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

Referenced by bm::miniset< A, N >::miniset(), and bm::miniset< A, N >::set().

template<class A, size_t N>
unsigned bm::miniset< A, N >::mem_used  )  const [inline]
 

Definition at line 135 of file bmvmin.h.

References BM_MINISET_ARRSIZE, BM_MINISET_GAPLEN, bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

template<class A, size_t N>
void bm::miniset< A, N >::set bm::id_t  n,
bool  val = true
[inline]
 

Definition at line 101 of file bmvmin.h.

References BM_MINISET_GAPLEN, bm::miniset< A, N >::convert_buf(), bm::gap_set_value(), bm::miniset< A, N >::init_bitbuf(), bm::miniset< A, N >::init_gapbuf(), bm::miniset< A, N >::m_buf, bm::miniset< A, N >::m_type, mask, bm::set_word_mask, and bm::set_word_shift.

Referenced by MiniSetTest().

template<class A, size_t N>
void bm::miniset< A, N >::swap miniset< A, N > &  mset  )  [inline]
 

Definition at line 144 of file bmvmin.h.

References bm::miniset< A, N >::m_buf, and bm::miniset< A, N >::m_type.

template<class A, size_t N>
unsigned bm::miniset< A, N >::test bm::id_t  n  )  const [inline]
 

Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise.

Definition at line 90 of file bmvmin.h.

References bm::gap_test(), bm::miniset< A, N >::m_buf, bm::miniset< A, N >::m_type, bm::set_word_mask, and bm::set_word_shift.


Member Data Documentation

template<class A, size_t N>
bm::word_t* bm::miniset< A, N >::m_buf [private]
 

Buffer pointer.

Definition at line 203 of file bmvmin.h.

Referenced by bm::miniset< A, N >::convert_buf(), bm::miniset< A, N >::init_bitbuf(), bm::miniset< A, N >::init_gapbuf(), bm::miniset< A, N >::mem_used(), bm::miniset< A, N >::miniset(), bm::miniset< A, N >::set(), bm::miniset< A, N >::swap(), bm::miniset< A, N >::test(), and bm::miniset< A, N >::~miniset().

template<class A, size_t N>
unsigned bm::miniset< A, N >::m_type [private]
 

buffer type (0-bit, 1-gap)

Definition at line 204 of file bmvmin.h.

Referenced by bm::miniset< A, N >::convert_buf(), bm::miniset< A, N >::init_bitbuf(), bm::miniset< A, N >::init_gapbuf(), bm::miniset< A, N >::mem_used(), bm::miniset< A, N >::miniset(), bm::miniset< A, N >::set(), bm::miniset< A, N >::swap(), bm::miniset< A, N >::test(), and bm::miniset< A, N >::~miniset().


The documentation for this class was generated from the following file:
Generated on Mon Dec 7 16:07:09 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:38 2009 by modify_doxy.py rev. 173732