10 #ifndef META_UTIL_SPARSE_VECTOR_H_
11 #define META_UTIL_SPARSE_VECTOR_H_
27 template <
class Index,
class Value>
31 using pair_type = std::pair<Index, Value>;
32 using container_type = std::vector<pair_type>;
33 using iterator =
typename container_type::iterator;
34 using const_iterator =
typename container_type::const_iterator;
74 Value
at(
const Index& index)
const;
81 const_iterator
find(
const Index& index)
const;
93 template <
class... Ts>
121 uint64_t
size()
const;
131 const container_type&
contents()
const;
146 const_iterator
begin()
const;
151 const_iterator
cbegin()
const;
161 const_iterator
end()
const;
166 const_iterator
cend()
const;