NEST  2.6.0,not_revisioned_source_dir@0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
sparsegroup< T, GROUP_SIZE, Alloc > Class Template Reference

#include <sparsetable.h>

Classes

class  alloc_impl
 
class  alloc_impl< libc_allocator_with_realloc< A > >
 
class  Settings
 

Public Types

typedef T value_type
 
typedef Alloc allocator_type
 
typedef value_alloc_type::reference reference
 
typedef
value_alloc_type::const_reference 
const_reference
 
typedef value_alloc_type::pointer pointer
 
typedef
value_alloc_type::const_pointer 
const_pointer
 
typedef table_iterator
< sparsegroup< T, GROUP_SIZE,
Alloc > > 
iterator
 
typedef const_table_iterator
< sparsegroup< T, GROUP_SIZE,
Alloc > > 
const_iterator
 
typedef table_element_adaptor
< sparsegroup< T, GROUP_SIZE,
Alloc > > 
element_adaptor
 
typedef u_int16_t size_type
 
typedef int16_t difference_type
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef pointer nonempty_iterator
 
typedef const_pointer const_nonempty_iterator
 
typedef std::reverse_iterator
< nonempty_iterator
reverse_nonempty_iterator
 
typedef std::reverse_iterator
< const_nonempty_iterator
const_reverse_nonempty_iterator
 

Public Member Functions

iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
nonempty_iterator nonempty_begin ()
 
const_nonempty_iterator nonempty_begin () const
 
nonempty_iterator nonempty_end ()
 
const_nonempty_iterator nonempty_end () const
 
reverse_nonempty_iterator nonempty_rbegin ()
 
const_reverse_nonempty_iterator nonempty_rbegin () const
 
reverse_nonempty_iterator nonempty_rend ()
 
const_reverse_nonempty_iterator nonempty_rend () const
 
const_reference default_value () const
 
size_type pos_to_offset (size_type pos) const
 
size_type offset_to_pos (size_type offset) const
 
 sparsegroup (allocator_type &a)
 
 sparsegroup (const sparsegroup &x)
 
 ~sparsegroup ()
 
sparsegroupoperator= (const sparsegroup &x)
 
void swap (sparsegroup &x)
 
void clear ()
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
size_type num_nonempty () const
 
const_reference get (size_type i) const
 
const_reference unsafe_get (size_type i) const
 
reference mutating_get (size_type i)
 
const_reference operator[] (size_type i) const
 
element_adaptor operator[] (size_type i)
 
reference set (size_type i, const_reference val)
 
bool test (size_type i) const
 
bool test (iterator pos) const
 
void erase (size_type i)
 
void erase (iterator pos)
 
void erase (iterator start_it, iterator end_it)
 
template<typename OUTPUT >
bool write_metadata (OUTPUT *fp) const
 
template<typename INPUT >
bool read_metadata (INPUT *fp)
 
template<typename INPUT >
bool read_nopointer_data (INPUT *fp)
 
template<typename OUTPUT >
bool write_nopointer_data (OUTPUT *fp) const
 
bool operator== (const sparsegroup &x) const
 
bool operator< (const sparsegroup &x) const
 
bool operator!= (const sparsegroup &x) const
 
bool operator<= (const sparsegroup &x) const
 
bool operator> (const sparsegroup &x) const
 
bool operator>= (const sparsegroup &x) const
 

Static Public Member Functions

static size_type pos_to_offset (const unsigned char *bm, size_type pos)
 
static size_type offset_to_pos (const unsigned char *bm, size_type offset)
 

Private Types

typedef Alloc::template rebind
< T >::other 
value_alloc_type
 

Private Member Functions

int bmtest (size_type i) const
 
void bmset (size_type i)
 
void bmclear (size_type i)
 
pointer allocate_group (size_type n)
 
void free_group ()
 
void set_aux (size_type offset, base::true_type)
 
void set_aux (size_type offset, base::false_type)
 
void erase_aux (size_type offset, base::true_type)
 
void erase_aux (size_type offset, base::false_type)
 

Static Private Member Functions

static size_type charbit (size_type i)
 
static size_type modbit (size_type i)
 
static size_type bits_in_char (unsigned char c)
 

Private Attributes

pointer group
 
Settings settings
 
unsigned char bitmap [(GROUP_SIZE-1)/8+1]
 

Member Typedef Documentation

template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef Alloc sparsegroup< T, GROUP_SIZE, Alloc >::allocator_type
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef const_table_iterator<sparsegroup<T, GROUP_SIZE, Alloc> > sparsegroup< T, GROUP_SIZE, Alloc >::const_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef const_pointer sparsegroup< T, GROUP_SIZE, Alloc >::const_nonempty_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef value_alloc_type::const_pointer sparsegroup< T, GROUP_SIZE, Alloc >::const_pointer
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef value_alloc_type::const_reference sparsegroup< T, GROUP_SIZE, Alloc >::const_reference
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef std::reverse_iterator<const_iterator> sparsegroup< T, GROUP_SIZE, Alloc >::const_reverse_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef std::reverse_iterator<const_nonempty_iterator> sparsegroup< T, GROUP_SIZE, Alloc >::const_reverse_nonempty_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef int16_t sparsegroup< T, GROUP_SIZE, Alloc >::difference_type
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef table_element_adaptor<sparsegroup<T, GROUP_SIZE, Alloc> > sparsegroup< T, GROUP_SIZE, Alloc >::element_adaptor
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef table_iterator<sparsegroup<T, GROUP_SIZE, Alloc> > sparsegroup< T, GROUP_SIZE, Alloc >::iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef pointer sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef value_alloc_type::pointer sparsegroup< T, GROUP_SIZE, Alloc >::pointer
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef value_alloc_type::reference sparsegroup< T, GROUP_SIZE, Alloc >::reference
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef std::reverse_iterator<iterator> sparsegroup< T, GROUP_SIZE, Alloc >::reverse_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef std::reverse_iterator<nonempty_iterator> sparsegroup< T, GROUP_SIZE, Alloc >::reverse_nonempty_iterator
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef u_int16_t sparsegroup< T, GROUP_SIZE, Alloc >::size_type
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef Alloc::template rebind<T>::other sparsegroup< T, GROUP_SIZE, Alloc >::value_alloc_type
private
template<class T, u_int16_t GROUP_SIZE, class Alloc>
typedef T sparsegroup< T, GROUP_SIZE, Alloc >::value_type

Constructor & Destructor Documentation

template<class T, u_int16_t GROUP_SIZE, class Alloc>
sparsegroup< T, GROUP_SIZE, Alloc >::sparsegroup ( allocator_type a)
inlineexplicit
template<class T, u_int16_t GROUP_SIZE, class Alloc>
sparsegroup< T, GROUP_SIZE, Alloc >::sparsegroup ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
sparsegroup< T, GROUP_SIZE, Alloc >::~sparsegroup ( )
inline

Member Function Documentation

template<class T, u_int16_t GROUP_SIZE, class Alloc>
pointer sparsegroup< T, GROUP_SIZE, Alloc >::allocate_group ( size_type  n)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
iterator sparsegroup< T, GROUP_SIZE, Alloc >::begin ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_iterator sparsegroup< T, GROUP_SIZE, Alloc >::begin ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
static size_type sparsegroup< T, GROUP_SIZE, Alloc >::bits_in_char ( unsigned char  c)
inlinestaticprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::bmclear ( size_type  i)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::bmset ( size_type  i)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
int sparsegroup< T, GROUP_SIZE, Alloc >::bmtest ( size_type  i) const
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
static size_type sparsegroup< T, GROUP_SIZE, Alloc >::charbit ( size_type  i)
inlinestaticprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::clear ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reference sparsegroup< T, GROUP_SIZE, Alloc >::default_value ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::empty ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
iterator sparsegroup< T, GROUP_SIZE, Alloc >::end ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_iterator sparsegroup< T, GROUP_SIZE, Alloc >::end ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::erase ( size_type  i)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::erase ( iterator  pos)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::erase ( iterator  start_it,
iterator  end_it 
)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::erase_aux ( size_type  offset,
base::true_type   
)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::erase_aux ( size_type  offset,
base::false_type   
)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::free_group ( )
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reference sparsegroup< T, GROUP_SIZE, Alloc >::get ( size_type  i) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
size_type sparsegroup< T, GROUP_SIZE, Alloc >::max_size ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
static size_type sparsegroup< T, GROUP_SIZE, Alloc >::modbit ( size_type  i)
inlinestaticprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reference sparsegroup< T, GROUP_SIZE, Alloc >::mutating_get ( size_type  i)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_begin ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_begin ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_end ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_end ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reverse_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_rbegin ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reverse_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_rbegin ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reverse_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_rend ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reverse_nonempty_iterator sparsegroup< T, GROUP_SIZE, Alloc >::nonempty_rend ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
size_type sparsegroup< T, GROUP_SIZE, Alloc >::num_nonempty ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
static size_type sparsegroup< T, GROUP_SIZE, Alloc >::offset_to_pos ( const unsigned char *  bm,
size_type  offset 
)
inlinestatic
template<class T, u_int16_t GROUP_SIZE, class Alloc>
size_type sparsegroup< T, GROUP_SIZE, Alloc >::offset_to_pos ( size_type  offset) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator!= ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline

References nest::names::x.

template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator< ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator<= ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
sparsegroup& sparsegroup< T, GROUP_SIZE, Alloc >::operator= ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator== ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator> ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::operator>= ( const sparsegroup< T, GROUP_SIZE, Alloc > &  x) const
inline

References nest::names::x.

template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reference sparsegroup< T, GROUP_SIZE, Alloc >::operator[] ( size_type  i) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
element_adaptor sparsegroup< T, GROUP_SIZE, Alloc >::operator[] ( size_type  i)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
static size_type sparsegroup< T, GROUP_SIZE, Alloc >::pos_to_offset ( const unsigned char *  bm,
size_type  pos 
)
inlinestatic
template<class T, u_int16_t GROUP_SIZE, class Alloc>
size_type sparsegroup< T, GROUP_SIZE, Alloc >::pos_to_offset ( size_type  pos) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reverse_iterator sparsegroup< T, GROUP_SIZE, Alloc >::rbegin ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reverse_iterator sparsegroup< T, GROUP_SIZE, Alloc >::rbegin ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
template<typename INPUT >
bool sparsegroup< T, GROUP_SIZE, Alloc >::read_metadata ( INPUT *  fp)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
template<typename INPUT >
bool sparsegroup< T, GROUP_SIZE, Alloc >::read_nopointer_data ( INPUT *  fp)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reverse_iterator sparsegroup< T, GROUP_SIZE, Alloc >::rend ( )
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reverse_iterator sparsegroup< T, GROUP_SIZE, Alloc >::rend ( ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
reference sparsegroup< T, GROUP_SIZE, Alloc >::set ( size_type  i,
const_reference  val 
)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::set_aux ( size_type  offset,
base::true_type   
)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::set_aux ( size_type  offset,
base::false_type   
)
inlineprivate
template<class T, u_int16_t GROUP_SIZE, class Alloc>
size_type sparsegroup< T, GROUP_SIZE, Alloc >::size ( void  ) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
void sparsegroup< T, GROUP_SIZE, Alloc >::swap ( sparsegroup< T, GROUP_SIZE, Alloc > &  x)
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::test ( size_type  i) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
bool sparsegroup< T, GROUP_SIZE, Alloc >::test ( iterator  pos) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
const_reference sparsegroup< T, GROUP_SIZE, Alloc >::unsafe_get ( size_type  i) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
template<typename OUTPUT >
bool sparsegroup< T, GROUP_SIZE, Alloc >::write_metadata ( OUTPUT *  fp) const
inline
template<class T, u_int16_t GROUP_SIZE, class Alloc>
template<typename OUTPUT >
bool sparsegroup< T, GROUP_SIZE, Alloc >::write_nopointer_data ( OUTPUT *  fp) const
inline

Member Data Documentation

template<class T, u_int16_t GROUP_SIZE, class Alloc>
unsigned char sparsegroup< T, GROUP_SIZE, Alloc >::bitmap[(GROUP_SIZE-1)/8+1]
private
template<class T, u_int16_t GROUP_SIZE, class Alloc>
pointer sparsegroup< T, GROUP_SIZE, Alloc >::group
private
template<class T, u_int16_t GROUP_SIZE, class Alloc>
Settings sparsegroup< T, GROUP_SIZE, Alloc >::settings
private

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