hashmap.h File Reference

Classes

struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyConstructor< ENTRY, KEY, COPY_KEY >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyConstructor< ENTRY, KEY &, true >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyValueConstructor< ENTRY, KEY, VALUE, COPY_KEY, COPY_VALUE >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyValueConstructor< ENTRY, KEY &, VALUE, true, false >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyValueConstructor< ENTRY, KEY, VALUE &, false, true >
 
struct  DefaultHashMapEntryHandlerBase< HASHVALUE, L >::KeyValueConstructor< ENTRY, KEY &, VALUE &, true, true >
 
struct  HashMapKeyValuePair
 
struct  HashMapValueKeyPair
 
struct  HashMapKeyHashValuePair
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, LAYOUT >
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::HASH_KEY_VALUE >
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_VALUE >
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::VALUE >
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_HASH_VALUE >
 
class  HashMapEntryBase< K, V, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::HASH_VALUE_KEY >
 
class  HashMapEntryBase< K, UnitType, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::HASH_KEY_VALUE >
 
class  HashMapEntryBase< K, UnitType, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_HASH_VALUE >
 
class  HashMapEntryBase< K, UnitType, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::HASH_VALUE_KEY >
 
class  HashMapEntryBase< K, UnitType, ENTRY_HANDLER, HASHMAP_ENTRY_LAYOUT::KEY_VALUE >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::LambdaEntryConstructor< KEY, LAMBDA, COPY_KEY >
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::LambdaEntryConstructor< KEY &, LAMBDA, true >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::Entry
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::MultiEntryIterator< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::EntryIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::KeyIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::ValueIteratorBase< CONSTITERATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::IteratorTemplateBase< ITERATOR, CONSTITERATOR, SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::ConstIteratorTemplate< SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::IteratorTemplate< SUPER >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::Hash< VALUEHASH >
 
union  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::SimpleBucket
 
struct  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::DefaultBucket
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::HashMapAllocator< GENERAL_ALLOCATOR, BLOCK_ALLOCATOR >
 
class  HashMap< K, V, HASH, ENTRY_HANDLER, ALLOCATOR, MODE, INITIAL_CAPACITY, LOAD_FACTOR, ENTRY_ALLOCATOR >::HashMapAllocator< ONE_ALLOCATOR, ONE_ALLOCATOR >
 
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 class  HASHMAP_ENTRY_LAYOUT {
  HASH_KEY_VALUE ,
  KEY_HASH_VALUE ,
  HASH_VALUE_KEY ,
  HASH_VALUE ,
  KEY_VALUE ,
  VALUE
}
 
enum class  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

 HASH_KEY_VALUE
 
 KEY_HASH_VALUE
 
 HASH_VALUE_KEY
 
 HASH_VALUE
 
 KEY_VALUE
 
 VALUE
 
 DEFAULT
 
 SYNCHRONIZED
 
 NO_NONEMPTY_BUCKET_TABLE
 

Variable Documentation

◆ HASH_KEY_VALUE

HASH_KEY_VALUE

◆ KEY_HASH_VALUE

KEY_HASH_VALUE

◆ HASH_VALUE_KEY

HASH_VALUE_KEY

◆ HASH_VALUE

HASH_VALUE

◆ KEY_VALUE

KEY_VALUE

◆ 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.