48 using inherited = STL_CONTAINER_OF_T;
51 using value_type =
typename STL_CONTAINER_OF_T::value_type;
52 using iterator =
typename STL_CONTAINER_OF_T::iterator;
53 using const_iterator =
typename STL_CONTAINER_OF_T::const_iterator;
65 template <
typename... EXTRA_ARGS>
103 template <invocable<typename STL_CONTAINER_OF_T::const_iterator, typename STL_CONTAINER_OF_T::const_iterator> POINT_TO_SAME_THING>
105 requires (convertible_to<invoke_result_t<POINT_TO_SAME_THING, typename STL_CONTAINER_OF_T::const_iterator, typename STL_CONTAINER_OF_T::const_iterator>,
bool>)
109 nonvirtual
bool contains (Common::ArgByValueType<value_type> item) const;
116 template <invocable<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
117 nonvirtual
void Apply (FUNCTION&& doToElement) const;
125 template <predicate<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
126 nonvirtual iterator
Find (FUNCTION&& firstThat);
127 template <predicate<typename STL_CONTAINER_OF_T::value_type> FUNCTION>
128 nonvirtual const_iterator
Find (FUNCTION&& firstThat) const;
131 template <predicate<typename STL_CONTAINER_OF_T::value_type> PREDICATE>
132 nonvirtual
bool FindIf (PREDICATE&& pred) const;
135 nonvirtual
void Invariant () const noexcept;
138 nonvirtual iterator remove_constness (const_iterator it);
159 using iterator_category = forward_iterator_tag;
160 using value_type = STLContainerWrapper::value_type;
161 using difference_type = ptrdiff_t;
162 using pointer =
const value_type*;
163 using reference =
const value_type&;
185 explicit operator
bool () const;
188 nonvirtual
bool AtEnd () const noexcept;
195 nonvirtual const value_type& operator* () const;
198 nonvirtual const value_type* operator->() const;
222 const_iterator _fStdIterator{};
295 using iterator_category = random_access_iterator_tag;
296 using value_type =
typename inherited::value_type;
297 using difference_type = ptrdiff_t;
298 using pointer =
typename inherited::pointer;
299 using reference =
typename inherited::reference;
323 nonvirtual
const value_type& operator[] (difference_type i)
const;
328 DISABLE_COMPILER_GCC_WARNING_START (
"GCC diagnostic ignored \"-Wnon-template-friend\"");
344 if (lhs._fData ==
nullptr) {
345 if (rhs._fData ==
nullptr) {
348 return static_cast<difference_type
> (rhs._fData->size ()) -
static_cast<difference_type
> (rhs.CurrentIndex ());
350 else if (rhs._fData ==
nullptr) {
351 return static_cast<difference_type
> (lhs.CurrentIndex ()) -
static_cast<difference_type
> (lhs._fData->size ());
354 return static_cast<difference_type
> (lhs._fStdIterator - rhs._fStdIterator);
357 DISABLE_COMPILER_GCC_WARNING_END (
"GCC diagnostic ignored \"-Wnon-template-friend\"");