12inline enable_if_t<is_pointer<V>::value, V>
13map_value_cast(ecs_map_val_t v) {
14 return reinterpret_cast<V
>(
static_cast<uintptr_t
>(v));
18inline enable_if_t<!is_pointer<V>::value, V>
19map_value_cast(ecs_map_val_t v) {
20 return static_cast<V
>(v);
25template <
typename K,
typename V>
31template <
typename K,
typename V>
41 it_ = ecs_map_iter(m);
49 return done_ != other.done_;
67 if (ecs_map_next(&it_)) {
68 entry_.first =
static_cast<K
>(ecs_map_key(&it_));
69 entry_.second = _::map_value_cast<V>(ecs_map_value(&it_));
76 const ecs_map_t *map_;
77 ecs_map_iter_t it_ = {};
82template <
typename K,
typename V>
84 explicit map(
const ecs_map_t *m) : map_(m) { }
95 const ecs_map_t *map_;