53 using inherited = STL_CONTAINER_OF_T;
56 using value_type =
typename STL_CONTAINER_OF_T::value_type;
57 using iterator =
typename STL_CONTAINER_OF_T::iterator;
58 using const_iterator =
typename STL_CONTAINER_OF_T::const_iterator;
70 template <
typename... EXTRA_ARGS>
90 nonvirtual
bool contains (Common::ArgByValueType<value_type> item) const;
97 template <invocable<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
98 nonvirtual
void Apply (FUNCTION&& doToElement) const;
106 template <predicate<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
107 nonvirtual iterator
Find (FUNCTION&& firstThat);
108 template <predicate<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
109 nonvirtual const_iterator
Find (FUNCTION&& firstThat) const;
112 template <predicate<typename STL_CONTAINER_OF_T::value_type> PREDICATE>
113 nonvirtual
bool FindIf (PREDICATE&& pred) const;
116 nonvirtual
void Invariant () const noexcept;
119 nonvirtual iterator remove_constness (const_iterator it);
140 using iterator_category = forward_iterator_tag;
141 using value_type = STLContainerWrapper::value_type;
142 using difference_type = ptrdiff_t;
143 using pointer =
const value_type*;
144 using reference =
const value_type&;
166 explicit operator
bool () const;
169 nonvirtual
bool Done () const noexcept;
175 nonvirtual const value_type& operator* () const;
178 nonvirtual const value_type* operator->() const;
202 const_iterator fStdIterator_{};