15 #ifndef CORE_AGENT_AGENT_UID_H_
16 #define CORE_AGENT_AGENT_UID_H_
29 friend std::hash<AgentUid>;
93 operator uint64_t()
const {
94 return (
static_cast<uint64_t
>(
reused_) << 32) |
95 static_cast<uint64_t
>(
index_);
120 struct hash<
bdm::AgentUid> {
AgentUid operator-(uint64_t i) const
bool operator<(size_t other) const
bool operator==(const AgentUid &other) const
constexpr AgentUid() noexcept
AgentUid(Index_t idx, Reused_t reused)
AgentUid operator-(int i) const
AgentUid & operator+=(const AgentUid &uid)
Reused_t reused_
Determines how often index_ has been resused.
BDM_CLASS_DEF_NV(AgentUid, 1)
AgentUid operator+(int i) const
AgentUid operator+(uint64_t i) const
Reused_t GetReused() const
bool operator!=(const AgentUid &other) const
static constexpr Reused_t kReusedMax
bool operator<(const AgentUid &other) const
friend std::ostream & operator<<(std::ostream &stream, const AgentUid &handle)
std::size_t operator()(const bdm::AgentUid &uid) const noexcept