hashmap.h File Reference

Classes

struct  DefaultHashMapEntryHandlerBase
 
struct  DefaultHashMapEntryHandlerBase::KeyConstructor< ENTRY, KEY, COPY_KEY >
 
struct  DefaultHashMapEntryHandlerBase::KeyConstructor< ENTRY, KEY &, true >
 
struct  DefaultHashMapEntryHandlerBase::KeyValueConstructor< ENTRY, KEY, VALUE, COPY_KEY, COPY_VALUE >
 
struct  DefaultHashMapEntryHandlerBase::KeyValueConstructor< ENTRY, KEY &, VALUE, true, false >
 
struct  DefaultHashMapEntryHandlerBase::KeyValueConstructor< ENTRY, KEY, VALUE &, false, true >
 
struct  DefaultHashMapEntryHandlerBase::KeyValueConstructor< ENTRY, KEY &, VALUE &, true, true >
 
struct  HashMapKeyValuePair
 
struct  HashMapValueKeyPair
 
struct  HashMapKeyHashValuePair
 
class  HashMapEntryBase< K, V, ENTRY, ENTRY_HANDLER, LAYOUT >
 
class  HashMapEntryBase< K, V, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_VALUE >
 
class  HashMapEntryBase< K, V, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_HASH_VALUE >
 
class  HashMapEntryBase< K, V, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::VALUE_KEY >
 
class  HashMapEntryBase< K, UnitType, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_VALUE >
 
class  HashMapEntryBase< K, UnitType, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_HASH_VALUE >
 
class  HashMapEntryBase< K, UnitType, ENTRY, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::VALUE_KEY >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::LambdaEntryConstructor< KEY, LAMBDA, COPY_KEY >
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::LambdaEntryConstructor< KEY &, LAMBDA, true >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::Entry
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::MultiEntryIterator< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::EntryIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::KeyIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::ValueIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::IteratorTemplateBase< ITERATOR, CONSTITERATOR, SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::ConstIteratorTemplate< SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::IteratorTemplate< SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::Hash< VALUEHASH >
 
union  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::SimpleBucket
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::DefaultBucket
 
class  HashMapSelector< HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >
 
struct  GenericCastMemberTrait< HashMap< K_TO, V_TO >, HashMap< K_FROM, V_FROM >, SAFE >
 
class  HashSet< T, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >
 
struct  HashSet< T, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR >::LambdaEntryConstructor< KEY, LAMBDA >
 
struct  GenericCastMemberTrait< HashSet< TO >, HashSet< FROM >, SAFE >
 

Namespaces

 maxon
 

Enumerations

enum  HASHMAP_ENTRY_LAYOUT {
  KEY_VALUE,
  KEY_HASH_VALUE,
  VALUE_KEY,
  VALUE
}
 
enum  HASHMAP_MODE {
  DEFAULT,
  SYNCHRONIZED,
  NO_NONEMPTY_BUCKET_TABLE
}
 

Functions

enum maxon::HASHMAP_ENTRY_LAYOUT MAXON_ENUM_LIST (HASHMAP_ENTRY_LAYOUT)
 
enum maxon::HASHMAP_MODE MAXON_ENUM_LIST (HASHMAP_MODE)
 

Variables

 KEY_VALUE
 
 KEY_HASH_VALUE
 
 VALUE_KEY
 
 VALUE
 
 DEFAULT
 
 SYNCHRONIZED
 
 NO_NONEMPTY_BUCKET_TABLE
 

Variable Documentation

◆ KEY_VALUE

KEY_VALUE

◆ KEY_HASH_VALUE

KEY_HASH_VALUE

◆ VALUE_KEY

VALUE_KEY

◆ VALUE

VALUE

◆ DEFAULT

DEFAULT

The default mode.

◆ SYNCHRONIZED

SYNCHRONIZED

Use atomic access to implement a lock-free hash map.

◆ NO_NONEMPTY_BUCKET_TABLE

NO_NONEMPTY_BUCKET_TABLE

< Don't maintain a table of non-empty buckets. This reduces memory consumption, but makes iterations slower.