|
entttree 0.1.0
Hierarchical entity management for EnTT
|
Common type aliases, enumerations, and utility functions used throughout entttree. More...
#include <cstddef>#include <functional>#include <optional>#include <ranges>#include <ankerl/unordered_dense.h>#include <geomc/linalg/LinalgTypes.h>#include <geomc/shape/ShapeTypes.h>#include <geomc/Hash.h>#include <geomc/SmallStorage.h>#include <entt/entt.hpp>Go to the source code of this file.
Typedefs | |
| template<typename K , typename V , typename Hasher = std::hash<K>, typename KeyEqual = std::equal_to<K>> | |
| using | entttree::DenseMap = ankerl::unordered_dense::map< K, V, Hasher, KeyEqual > |
| High-performance hash map backed by ankerl::unordered_dense. | |
| template<typename T , typename Hasher = std::hash<T>, typename KeyEqual = std::equal_to<T>> | |
| using | entttree::DenseSet = ankerl::unordered_dense::set< T, Hasher, KeyEqual > |
| High-performance hash set backed by ankerl::unordered_dense. | |
Enumerations | |
| enum struct | entttree::DfsOrder { ShallowFirst , DeepFirst } |
| Controls the visit order for depth-first traversal. More... | |
| enum struct | entttree::SiblingOrder { Forward , Backward } |
| Controls the iteration order of siblings within a parent. More... | |
Functions | |
| template<typename K , typename V > | |
| std::optional< V > | entttree::get_or (const DenseMap< K, V > &m, const K &k) |
| Look up a key in a DenseMap, returning an optional value. | |
| template<typename K , typename V > | |
| V | entttree::get_or (const DenseMap< K, V > &m, const K &k, const V &v) |
| Look up a key in a DenseMap, returning a default if not found. | |
| template<typename K , typename V , typename Arg > | |
| std::optional< V > | entttree::exchange (DenseMap< K, V > &m, const K &k, Arg &&v) |
| Insert or replace a value in a DenseMap. | |
| template<typename K , typename V > | |
| std::optional< V > | entttree::remove_item (DenseMap< K, V > &m, const K &k) |
| Remove a key from a DenseMap. | |
Common type aliases, enumerations, and utility functions used throughout entttree.
Definition in file defs.h.
| using entttree::DenseMap = typedef ankerl::unordered_dense::map<K,V,Hasher,KeyEqual> |
| using entttree::DenseSet = typedef ankerl::unordered_dense::set<T,Hasher,KeyEqual> |
|
strong |
|
strong |
| std::optional< V > entttree::exchange | ( | DenseMap< K, V > & | m, |
| const K & | k, | ||
| Arg && | v | ||
| ) |
Insert or replace a value in a DenseMap.
k, or std::nullopt if the key was new. Definition at line 77 of file defs.h.
References entttree::exchange().
Referenced by entttree::exchange().
| std::optional< V > entttree::get_or | ( | const DenseMap< K, V > & | m, |
| const K & | k | ||
| ) |
Look up a key in a DenseMap, returning an optional value.
k, or std::nullopt if not found. Definition at line 56 of file defs.h.
References entttree::get_or().
Referenced by entttree::get_or(), and entttree::get_or().
| V entttree::get_or | ( | const DenseMap< K, V > & | m, |
| const K & | k, | ||
| const V & | v | ||
| ) |
Look up a key in a DenseMap, returning a default if not found.
k, or v if not found. Definition at line 67 of file defs.h.
References entttree::get_or().
| std::optional< V > entttree::remove_item | ( | DenseMap< K, V > & | m, |
| const K & | k | ||
| ) |
Remove a key from a DenseMap.
std::nullopt if the key was not present. Definition at line 92 of file defs.h.
References entttree::remove_item().
Referenced by entttree::remove_item().