Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
hashnameset< T > Struct Template Reference

#include <cube_hash.hpp>

Inheritance diagram for hashnameset< T >:
hashbase< hashnameset< T >, T, const char *, T >

Public Types

typedef hashbase< hashnameset
< T >, T, const char *, T > 
basetype
 
enum  
 
enum  
 
typedef T elemtype
 
typedef const char * keytype
 
typedef T datatype
 

Public Member Functions

 hashnameset (int size=basetype::DEFAULTSIZE)
 
template<class V >
T & add (const V &elem)
 
chain * insert (uint h)
 
T & insert (uint h, const U &key)
 
T * access (const U &key)
 
T & access (const U &key, const V &elem)
 
T & operator[] (const U &key)
 
T & find (const U &key, T &notfound)
 
const T & find (const U &key, const T &notfound)
 
bool remove (const U &key)
 
void deletechunks ()
 
void clear ()
 

Static Public Member Functions

template<class U >
static const char * getkey (const U &elem)
 
template<class U >
static const char * getkey (U *elem)
 
static T & getdata (T &elem)
 
template<class K >
static void setkey (T &elem, const K &key)
 
static chain * enumnext (void *i)
 
static const char *& enumkey (void *i)
 
static T & enumdata (void *i)
 

Public Attributes

int size
 
int numelems
 
chain ** chains
 
chainchunk * chunks
 
chain * unused
 

Member Typedef Documentation

template<class T>
typedef hashbase<hashnameset<T>, T, const char *, T> hashnameset< T >::basetype
typedef T hashbase< hashnameset< T > , T , const char * , T >::datatype
inherited
typedef T hashbase< hashnameset< T > , T , const char * , T >::elemtype
inherited
typedef const char * hashbase< hashnameset< T > , T , const char * , T >::keytype
inherited

Member Enumeration Documentation

anonymous enum
inherited
anonymous enum
inherited

Constructor & Destructor Documentation

template<class T>
hashnameset< T >::hashnameset ( int  size = basetype::DEFAULTSIZE)
inline

Member Function Documentation

T* hashbase< hashnameset< T > , T , const char * , T >::access ( const U &  key)
inlineinherited
T& hashbase< hashnameset< T > , T , const char * , T >::access ( const U &  key,
const V &  elem 
)
inlineinherited
template<class T>
template<class V >
T& hashnameset< T >::add ( const V &  elem)
inline
void hashbase< hashnameset< T > , T , const char * , T >::clear ( )
inlineinherited
void hashbase< hashnameset< T > , T , const char * , T >::deletechunks ( )
inlineinherited
static T& hashbase< hashnameset< T > , T , const char * , T >::enumdata ( void i)
inlinestaticinherited
static const char * & hashbase< hashnameset< T > , T , const char * , T >::enumkey ( void i)
inlinestaticinherited
static chain* hashbase< hashnameset< T > , T , const char * , T >::enumnext ( void i)
inlinestaticinherited
T& hashbase< hashnameset< T > , T , const char * , T >::find ( const U &  key,
T &  notfound 
)
inlineinherited
const T& hashbase< hashnameset< T > , T , const char * , T >::find ( const U &  key,
const T &  notfound 
)
inlineinherited
template<class T>
static T& hashnameset< T >::getdata ( T &  elem)
inlinestatic
template<class T>
template<class U >
static const char* hashnameset< T >::getkey ( const U &  elem)
inlinestatic

Referenced by hashnameset< T >::add().

template<class T>
template<class U >
static const char* hashnameset< T >::getkey ( U *  elem)
inlinestatic
chain* hashbase< hashnameset< T > , T , const char * , T >::insert ( uint  h)
inlineinherited
T& hashbase< hashnameset< T > , T , const char * , T >::insert ( uint  h,
const U &  key 
)
inlineinherited
T& hashbase< hashnameset< T > , T , const char * , T >::operator[] ( const U &  key)
inlineinherited
bool hashbase< hashnameset< T > , T , const char * , T >::remove ( const U &  key)
inlineinherited

Referenced by clearmodel().

template<class T>
template<class K >
static void hashnameset< T >::setkey ( T &  elem,
const K &  key 
)
inlinestatic

Member Data Documentation

chain** hashbase< hashnameset< T > , T , const char * , T >::chains
inherited
chainchunk* hashbase< hashnameset< T > , T , const char * , T >::chunks
inherited
int hashbase< hashnameset< T > , T , const char * , T >::numelems
inherited
int hashbase< hashnameset< T > , T , const char * , T >::size
inherited
chain* hashbase< hashnameset< T > , T , const char * , T >::unused
inherited

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