BioDynaMo
v1.05.120-25dc9790
|
#include <agent_uid_map.h>
Classes | |
struct | Iterator |
Public Member Functions | |
AgentUidMap ()=default | |
AgentUidMap (const AgentUidMap &other) | |
AgentUidMap (uint64_t initial_size) | |
void | resize (uint64_t new_size) |
void | clear () |
void | ParallelClear () |
uint64_t | size () const |
void | Remove (const AgentUid &key) |
bool | Contains (const AgentUid &uid) const |
void | Insert (const AgentUid &uid, const TValue &value) |
const TValue & | operator[] (const AgentUid &key) const |
AgentUid::Reused_t | GetReused (uint64_t index) const |
Private Attributes | |
std::vector< TValue > | data_ |
std::vector< typename AgentUid::Reused_t > | agent_uid_reused_ |
AgentUidMap is an associative container that exploits the properties of AgentUid to store data in contiguous arrays. Inserting elements and reading elements at the same time is thread-safe as long as the keys are different. These operations with distinct keys are lock-free and atomic free, and thus offer high-performance.
Definition at line 31 of file agent_uid_map.h.
|
default |
|
inline |
Definition at line 40 of file agent_uid_map.h.
|
inlineexplicit |
Definition at line 43 of file agent_uid_map.h.
|
inline |
Definition at line 53 of file agent_uid_map.h.
|
inline |
Definition at line 77 of file agent_uid_map.h.
|
inline |
Definition at line 95 of file agent_uid_map.h.
|
inline |
Definition at line 85 of file agent_uid_map.h.
|
inline |
Definition at line 91 of file agent_uid_map.h.
|
inline |
Definition at line 59 of file agent_uid_map.h.
|
inline |
Definition at line 70 of file agent_uid_map.h.
|
inline |
Definition at line 48 of file agent_uid_map.h.
|
inline |
Definition at line 66 of file agent_uid_map.h.
|
private |
Definition at line 101 of file agent_uid_map.h.
|
private |
Definition at line 100 of file agent_uid_map.h.