|
| using | value_type = Value |
| using | key_type = typename key_selector::key_type |
| using | key_compare = Compare |
| using | size_type = std::size_t |
| using | difference_type = ptrdiff_t |
| using | reference = value_type & |
| using | const_reference = value_type const & |
| using | pointer = value_type * |
| using | const_pointer = value_type const * |
| using | value_compare = qtree_detail::value_compare_impl<value_type, key_selector, key_compare> |
| using | allocator_type = qallocator<value_type, AllocPolicy> |
| using | iterator = typename std::conditional_t<std::is_same_v<KeySelector, qtree_detail::identity_key<Value>>,const_iterator,mutable_iterator> |
| using | reverse_iterator = qiterator_detail::qreverse_iterator<iterator> |
| using | const_reverse_iterator = qiterator_detail::qreverse_iterator<const_iterator> |
| template<class K> |
| using | enable_hetero_eq = std::enable_if_t<cmp_bidir_v<Compare, key_type, K>, int> |
| template<class K> |
| using | enable_hetero_lb = std::enable_if_t<cmp_key_to_k_v<Compare, key_type, K>, int> |
| template<class K> |
| using | enable_hetero_ub = std::enable_if_t<cmp_k_to_key_v<Compare, K, key_type>, int> |
| template<class K> |
| using | enable_hetero_eqrange = std::enable_if_t<cmp_key_to_k_v<Compare, key_type, K> && cmp_k_to_key_v<Compare, K, key_type>, int> |
|
| | CXX17_MEMORY_ALLOCATION_FUNCS_USING_POLICY (AllocPolicy) qtree() noexcept |
| | qtree (std::initializer_list< value_type > init) |
| | qtree (qtree const &other) |
| | qtree (qtree &&other) noexcept |
| | ~qtree () |
| qtree & | operator= (qtree const &other) |
| qtree & | operator= (qtree &&other) noexcept |
| void | swap (qtree &other) noexcept |
| iterator | begin () noexcept |
| const_iterator | begin () const noexcept |
| const_iterator | cbegin () const noexcept |
| iterator | end () noexcept |
| const_iterator | end () const noexcept |
| const_iterator | cend () const noexcept |
| reverse_iterator | rbegin () noexcept |
| const_reverse_iterator | rbegin () const noexcept |
| const_reverse_iterator | crbegin () const noexcept |
| reverse_iterator | rend () noexcept |
| const_reverse_iterator | rend () const noexcept |
| const_reverse_iterator | crend () const noexcept |
| bool | empty () const noexcept |
| size_type | size () const noexcept |
| iterator | find (key_type const &key) |
| const_iterator | find (key_type const &key) const |
| template<class K, class = enable_hetero_eq<K>> |
| iterator | find (K const &key) |
| template<class K, class = enable_hetero_eq<K>> |
| const_iterator | find (K const &key) const |
| bool | contains (key_type const &key) const |
| template<class K, class = enable_hetero_eq<K>> |
| bool | contains (K const &key) const |
| size_type | count (key_type const &key) const |
| template<class K, class = enable_hetero_eq<K>> |
| size_type | count (K const &key) const |
| iterator | lower_bound (key_type const &key) |
| const_iterator | lower_bound (key_type const &key) const |
| template<class K, class = enable_hetero_lb<K>> |
| iterator | lower_bound (K const &key) |
| template<class K, class = enable_hetero_lb<K>> |
| const_iterator | lower_bound (K const &key) const |
| iterator | upper_bound (key_type const &key) |
| const_iterator | upper_bound (key_type const &key) const |
| template<class K, class = enable_hetero_ub<K>> |
| iterator | upper_bound (K const &key) |
| template<class K, class = enable_hetero_ub<K>> |
| const_iterator | upper_bound (K const &key) const |
| qpair< iterator, iterator > | equal_range (key_type const &key) |
| qpair< const_iterator, const_iterator > | equal_range (key_type const &key) const |
| template<class K, class = enable_hetero_eqrange<K>> |
| qpair< iterator, iterator > | equal_range (K const &key) |
| template<class K, class = enable_hetero_eqrange<K>> |
| qpair< const_iterator, const_iterator > | equal_range (K const &key) const |
| template<class InputIt> |
| void | insert (InputIt first, InputIt last) |
| void | insert (std::initializer_list< value_type > init) |
| qpair< iterator, bool > | insert (value_type const &value) |
| qpair< iterator, bool > | insert (value_type &&value) |
| iterator | insert (const_iterator hint, value_type const &value) |
| iterator | insert (const_iterator hint, value_type &&value) |
| template<class... Args> |
| qpair< iterator, bool > | emplace (Args &&...args) |
| template<class... Args> |
| iterator | emplace_hint (const_iterator hint, Args &&...args) |
| iterator | erase (const_iterator pos) |
| iterator | erase (const_iterator first, const_iterator last) |
| size_type | erase (key_type const &key) |
| template<class K, class = enable_hetero_eq<K>> |
| size_type | erase (K const &key) |
| template<class Pred> |
| size_type | erase_if (Pred pred) |
| void | clear () noexcept |
| key_compare | key_comp () const noexcept |
| value_compare | value_comp () const noexcept |
| allocator_type | get_allocator () const noexcept |
| size_type | max_size () const noexcept |
|
| class | qtree_detail::qtree_tester |
| template<class, class, class, class, bool> |
| class | qmap |
| void | swap (qtree &a, qtree &b) noexcept(noexcept(a.swap(b))) |
| bool | operator== (mutable_iterator l, const_iterator r) noexcept |
| bool | operator== (const_iterator l, mutable_iterator r) noexcept |
| bool | operator!= (mutable_iterator l, const_iterator r) noexcept |
| bool | operator!= (const_iterator l, mutable_iterator r) noexcept |
| bool | operator== (qtree const &a, qtree const &b) |
| bool | operator!= (qtree const &a, qtree const &b) |
| bool | operator< (qtree const &a, qtree const &b) |
| bool | operator> (qtree const &a, qtree const &b) |
| bool | operator<= (qtree const &a, qtree const &b) |
| bool | operator>= (qtree const &a, qtree const &b) |