Inheritance diagram for bracz::linmap< key, value >:
Public Types | |
typedef key | key_type |
typedef value | data_type |
typedef std::pair< key_type, data_type > | value_type |
typedef std::allocator< linmap< key_type, value_type > > | allocator |
Public Member Functions | |
linmap () | |
void | clear () |
data_type &DINLINE | operator[] (key_type k) |
template<class CmpFn> | |
void | sort (CmpFn fn=CmpFn()) |
iterator DINLINE | begin () |
iterator DINLINE | end () |
Private Types | |
typedef arrayalloc< value_type, 1, 100000 > | myallocator_t |
allocator for the blocks | |
Private Attributes | |
uint32_t | size |
the actual length; | |
int | logsize |
blocksize of the data space | |
value_type * | data |
the actual data space | |
Static Private Attributes | |
static myallocator_t | myallocator |
Friends | |
class | iterator |
Classes | |
class | iterator |
All operations are linear time. However, the overhead is very small. It is very effective if you have only a few elements and only a few lookup/insert operations are performed.
An ordering on the key type is not required.
Iterators are not invalidated by operator[]
Definition at line 29 of file linmap.cpp.
|
Definition at line 36 of file linmap.cpp. |
|
Definition at line 32 of file linmap.cpp. |
|
Definition at line 31 of file linmap.cpp. |
|
allocator for the blocks
Definition at line 141 of file linmap.cpp. |
|
Definition at line 33 of file linmap.cpp. |
|
Definition at line 38 of file linmap.cpp. |
|
Definition at line 122 of file linmap.cpp. |
|
Definition at line 42 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::linmap(). |
|
Definition at line 126 of file linmap.cpp. |
|
Definition at line 48 of file linmap.cpp. |
|
Definition at line 79 of file linmap.cpp. |
|
Definition at line 120 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::begin(), and bracz::linmap< key_type, data_type >::end(). |
|
the actual data space
Definition at line 138 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::clear(), bracz::linmap< key, value >::iterator::operator *(), bracz::linmap< key, value >::iterator::operator->(), bracz::linmap< key_type, data_type >::operator[](), and bracz::linmap< key_type, data_type >::sort(). |
|
blocksize of the data space
Definition at line 135 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::clear(), and bracz::linmap< key_type, data_type >::operator[](). |
|
Definition at line 143 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::operator[](). |
|
the actual length;
Definition at line 132 of file linmap.cpp. Referenced by bracz::linmap< key_type, data_type >::clear(), bracz::linmap< key_type, data_type >::end(), bracz::linmap< key_type, data_type >::operator[](), and bracz::linmap< key_type, data_type >::sort(). |