Class bidir_map¶
Defined in File tdm.h
Class Documentation¶
-
class bidir_map¶
将整数二元组稳定映射为连续 ID 的双向表。
operator[]具有插入语义;只读查询应使用contains()或try_get(), 避免意外改变 ID 空间。Public Functions
-
inline int operator[](const pair<int, int> &key)¶
获取已有 ID,或为新 key 分配下一个连续 ID。
-
inline int size() const¶
返回已分配 ID 的数量。
-
inline const pair<int, int> &at(int id) const¶
按 ID 返回原始二元组;调用方须保证 ID 有效。
-
inline bool contains(const pair<int, int> &key) const¶
判断 key 是否存在,不修改映射。
-
inline bool try_get(const pair<int, int> &key, int &value) const¶
尝试只读查询 key,并通过
value返回 ID。
Public Members
-
flat_hash_map<pair<int, int>, int> node_map¶
二元组到 ID 的正向映射。
-
vector<pair<int, int>> reverse_node_map¶
ID 到二元组的反向映射。
Private Members
-
int _size = 0¶
已分配的连续 ID 数量。
-
inline int operator[](const pair<int, int> &key)¶