40 using const_pointer =
const T*;
42 using const_reference =
const T&;
44 using uuid_type = uint64_t;
64 size_t size()
const {
return data_.size(); }
65 size_t capacity()
const {
return data_.capacity(); }
70 void clear() { data_.clear(); freed_.clear(); }
72 uuid_type insert(const_reference& value);
73 void erase(uuid_type
id);
81 reference operator[](uuid_type
id) { assert(data_[
id]());
return data_[id]; }
82 const_reference operator[](uuid_type
id)
const { assert(data_[
id]());
return data_[id]; }
83 bool operator()(uuid_type
id)
const {
return data_[id](); }
85 typename dynarray<node>::iterator begin() {
return data_.begin(); }
86 typename dynarray<node>::iterator end() {
return data_.end(); }
93 dynarray<uuid_type> freed_;