Lines Matching full:container
24 // flat_tree in case the underlying container is already sorted and has no
64 // Reference: https://en.cppreference.com/w/cpp/container/array/to_array
76 // Helper that calls `container.reserve(std::size(source))`.
81 auto ReserveIfSupported(T& container, const U& source)
82 -> decltype(container.reserve(std::size(source)), void()) {
83 container.reserve(std::size(source));
147 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
155 using value_type = typename Container::value_type;
168 using pointer = typename Container::pointer;
169 using const_pointer = typename Container::const_pointer;
170 using reference = typename Container::reference;
171 using const_reference = typename Container::const_reference;
172 using size_type = typename Container::size_type;
173 using difference_type = typename Container::difference_type;
174 using iterator = typename Container::iterator;
175 using const_iterator = typename Container::const_iterator;
176 using reverse_iterator = typename Container::reverse_iterator;
177 using const_reverse_iterator = typename Container::const_reverse_iterator;
178 using container_type = Container;
193 // unique step takes places. This is useful if the underlying container
407 // and lexicograhpical_compare(). If the underlying container type is changed,
581 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
582 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
586 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
588 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
596 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
597 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
604 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
605 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
612 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
613 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
618 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
620 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
629 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
630 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
638 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
639 constexpr flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
647 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
648 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::flat_tree(
657 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
658 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::operator=(
668 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
669 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::reserve(
674 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
675 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::capacity() const
680 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
681 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::shrink_to_fit() {
688 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
689 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::clear() {
693 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
694 constexpr auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::size()
699 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
701 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::max_size() const
706 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
707 constexpr bool flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::empty()
715 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
716 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::begin()
721 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
722 constexpr auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::begin()
727 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
728 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::cbegin() const
733 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
734 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::end() -> iterator {
738 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
739 constexpr auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::end()
744 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
745 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::cend() const
750 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
751 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::rbegin()
756 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
757 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::rbegin() const
762 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
763 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::crbegin() const
768 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
769 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::rend()
774 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
775 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::rend() const
780 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
781 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::crend() const
792 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
793 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::insert(
798 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
799 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::insert(
804 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
805 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::insert(
812 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
813 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::insert(
821 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
823 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::insert(
863 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
865 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::emplace(
870 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
872 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::emplace_hint(
881 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
882 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::
887 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
888 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::replace(
899 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
900 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::erase(
906 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
908 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::erase(
914 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
915 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::erase(
924 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
926 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::erase(const K& val)
935 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
936 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::erase(
945 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
947 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::key_comp() const
952 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
954 flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::value_comp() const
962 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
964 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::count(
970 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
971 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::count(
977 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
978 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::find(
983 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
984 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::find(
990 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
992 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::find(const K& key)
997 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
999 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::find(
1005 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1006 bool flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::contains(
1012 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1014 bool flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::contains(
1020 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1021 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::equal_range(
1027 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1028 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::equal_range(
1039 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1041 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::equal_range(
1047 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1049 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::equal_range(
1060 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1061 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::lower_bound(
1066 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1067 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::lower_bound(
1073 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1075 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::lower_bound(
1080 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1082 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::lower_bound(
1085 "Requested type cannot be bound to the container's key_type "
1094 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1095 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::upper_bound(
1100 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1101 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::upper_bound(
1107 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1109 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::upper_bound(
1114 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1116 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::upper_bound(
1119 "Requested type cannot be bound to the container's key_type "
1131 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1132 void flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::swap(
1137 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1139 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::unsafe_emplace(
1145 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1147 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::emplace_key_args(
1156 template <class Key, class GetKeyFromValue, class KeyCompare, class Container>
1158 auto flat_tree<Key, GetKeyFromValue, KeyCompare, Container>::
1185 class Container,
1188 base::internal::flat_tree<Key, GetKeyFromValue, KeyCompare, Container>&
1189 container,
1191 auto it = ranges::remove_if(container, pred);
1192 size_t removed = std::distance(it, container.end());
1193 container.erase(it, container.end());