21 #include <initializer_list> 39 class Compare = std::less<StringPiece>,
40 class Alloc = std::allocator<std::pair<const StringPiece, Value>>>
43 using Base = std::map<StringPiece, Value, Compare, Alloc>;
62 using Base::get_allocator;
69 :
Base(comp, alloc) {}
73 template <
class InputIterator>
98 std::initializer_list<value_type> il,
104 if (
this == &other) {
111 assert(
this != &other);
124 using Base::max_size;
130 Base const& lhs = *
this;
149 using Base::lower_bound;
150 using Base::upper_bound;
152 template <
class...
Args>
158 return Base::emplace(
159 stringPieceDup(key, get_allocator()), std::forward<Args>(args)...);
163 auto it = find(val.first);
167 return Base::insert(std::make_pair(
171 iterator
erase(const_iterator position) {
172 auto key = position->first;
173 auto result = Base::erase(position);
188 for (
auto& it : *
this) {
198 for (
auto& it : *
this) {
StringKeyedMap(InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
StringKeyedMap & operator=(StringKeyedMap &&other)&noexcept
Base::allocator_type allocator_type
mapped_type & operator[](StringPiece key)
void stringPieceDel(StringPiece piece, const Alloc &alloc)
Base::const_reference const_reference
constexpr detail::Map< Move > move
bool operator==(StringKeyedMap const &other) const
auto begin(TestAdlIterable &instance)
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
—— Concurrent Priority Queue Implementation ——
Base::difference_type difference_type
requires E e noexcept(noexcept(s.error(std::move(e))))
Base::size_type size_type
std::pair< iterator, bool > emplace(StringPiece key, Args &&...args)
std::map< StringPiece, Value, Compare, Alloc > Base
FOLLY_PUSH_WARNING RHS rhs
size_type erase(StringPiece key)
Base::const_iterator const_iterator
constexpr auto size(C const &c) -> decltype(c.size())
Base::key_compare key_compare
constexpr auto empty(C const &c) -> decltype(c.empty())
bool Value(const T &value, M matcher)
Base::const_pointer const_pointer
auto end(TestAdlIterable &instance)
Base::const_reverse_iterator const_reverse_iterator
StringKeyedMap(const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
StringKeyedMap & operator=(const StringKeyedMap &other)&
std::pair< iterator, bool > insert(value_type val)
StringKeyedMap(const StringKeyedMap &rhs, const allocator_type &a)
Base::value_type value_type
StringKeyedMap(StringKeyedMap &&other, const allocator_type &) noexcept
Base::reference reference
StringKeyedMap(StringKeyedMap &&other) noexcept
StringPiece stringPieceDup(StringPiece piece, const Alloc &alloc)
void swap(SwapTrackingAlloc< T > &, SwapTrackingAlloc< T > &)
StringKeyedMap(const StringKeyedMap &rhs)
StringKeyedMap(const allocator_type &alloc)
iterator erase(const_iterator position)
Iterator< typename Container::const_iterator > cbegin(const Container &c)
Base::mapped_type mapped_type
StringKeyedMap(std::initializer_list< value_type > il, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Iterator< typename Container::const_iterator > cend(const Container &c)
Base::reverse_iterator reverse_iterator