21 #include <initializer_list> 38 class Compare = std::less<StringPiece>,
39 class Alloc = std::allocator<StringPiece>>
42 using Base = std::set<StringPiece, Compare, Alloc>;
63 :
Base(comp, alloc) {}
67 template <
class InputIterator>
87 assert(other.empty());
92 const allocator_type& alloc)
noexcept 94 assert(other.empty());
98 std::initializer_list<value_type> il,
104 if (
this == &other) {
111 assert(
this != &other);
114 assert(other.empty());
125 using Base::lower_bound;
126 using Base::max_size;
128 using Base::upper_bound;
131 Base const& lhs = *
this;
136 template <
class...
Args>
138 auto key =
StringPiece(std::forward<Args>(args)...);
154 iterator
erase(const_iterator position) {
155 auto key = *position;
156 auto result = Base::erase(position);
171 for (
auto it : *
this) {
177 using Base::get_allocator;
185 for (
auto it : *
this) {
std::pair< iterator, bool > insert(value_type val)
void stringPieceDel(StringPiece piece, const Alloc &alloc)
Base::key_compare key_compare
Base::size_type size_type
iterator erase(const_iterator position)
StringKeyedSetBase(const allocator_type &alloc)
Base::allocator_type allocator_type
constexpr detail::Map< Move > move
std::set< StringPiece, Compare, Alloc > Base
auto begin(TestAdlIterable &instance)
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
Base::const_reference const_reference
—— Concurrent Priority Queue Implementation ——
size_type erase(StringPiece key)
requires E e noexcept(noexcept(s.error(std::move(e))))
StringKeyedSetBase & operator=(const StringKeyedSetBase &other)
StringKeyedSetBase(InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
FOLLY_PUSH_WARNING RHS rhs
bool operator==(StringKeyedSetBase const &other) const
StringKeyedSetBase(StringKeyedSetBase &&other) noexcept
constexpr auto size(C const &c) -> decltype(c.size())
Base::const_iterator const_iterator
constexpr auto empty(C const &c) -> decltype(c.empty())
StringKeyedSetBase(const StringKeyedSetBase &rhs)
std::pair< iterator, bool > emplace(Args &&...args)
auto end(TestAdlIterable &instance)
Base::const_reverse_iterator const_reverse_iterator
StringKeyedSetBase(const StringKeyedSetBase &rhs, const allocator_type &a)
Base::difference_type difference_type
Base::value_type value_type
StringKeyedSetBase(StringKeyedSetBase &&other, const allocator_type &alloc) noexcept
StringKeyedSetBase & operator=(StringKeyedSetBase &&other) noexcept
StringPiece stringPieceDup(StringPiece piece, const Alloc &alloc)
void swap(StringKeyedSetBase &other)&
void swap(SwapTrackingAlloc< T > &, SwapTrackingAlloc< T > &)
StringKeyedSetBase(std::initializer_list< value_type > il, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Range< const char * > StringPiece
Iterator< typename Container::const_iterator > cbegin(const Container &c)
Base::const_pointer const_pointer
Base::reverse_iterator reverse_iterator
StringKeyedSetBase(const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
Iterator< typename Container::const_iterator > cend(const Container &c)
Base::reference reference