BioDynaMo
v1.05.120-25dc9790
|
#include <agent_handle.h>
Public Types | |
using | NumaNode_t = uint16_t |
using | ElementIdx_t = uint32_t |
Public Member Functions | |
constexpr | AgentHandle () noexcept |
AgentHandle (ElementIdx_t element_idx) | |
AgentHandle (NumaNode_t numa_node, ElementIdx_t element_idx) | |
NumaNode_t | GetNumaNode () const |
ElementIdx_t | GetElementIdx () const |
void | SetElementIdx (ElementIdx_t element_idx) |
bool | operator== (const AgentHandle &other) const |
bool | operator!= (const AgentHandle &other) const |
bool | operator< (const AgentHandle &other) const |
Private Member Functions | |
BDM_CLASS_DEF_NV (AgentHandle, 1) | |
Private Attributes | |
NumaNode_t | numa_node_ |
ElementIdx_t | element_idx_ |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const AgentHandle &handle) |
Unique identifier of an agent. Acts as a type erased pointer. Has the same type for every agent.
Points to the storage location of an agent inside ResourceManager.
The id is split into two parts: Numa node, element index. The first one is used to obtain the numa storage, and the second specifies the element within this vector.
Definition at line 29 of file agent_handle.h.
using bdm::AgentHandle::ElementIdx_t = uint32_t |
Definition at line 32 of file agent_handle.h.
using bdm::AgentHandle::NumaNode_t = uint16_t |
Definition at line 31 of file agent_handle.h.
|
inlineconstexprnoexcept |
Definition at line 34 of file agent_handle.h.
|
inlineexplicit |
Definition at line 38 of file agent_handle.h.
|
inline |
Definition at line 41 of file agent_handle.h.
|
private |
|
inline |
Definition at line 45 of file agent_handle.h.
|
inline |
Definition at line 44 of file agent_handle.h.
|
inline |
Definition at line 52 of file agent_handle.h.
|
inline |
Definition at line 54 of file agent_handle.h.
|
inline |
Definition at line 48 of file agent_handle.h.
|
inline |
Definition at line 46 of file agent_handle.h.
|
friend |
Definition at line 62 of file agent_handle.h.
|
private |
changed element index to uint32_t after issues with std::atomic with size 16 -> max element_idx: 4.294.967.296
Definition at line 74 of file agent_handle.h.
|
private |
Definition at line 70 of file agent_handle.h.