101#if qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
102 template <
typename ITERABLE_OF_ADDABLE,
103 enable_if_t<IIterableOfTo<ITERABLE_OF_ADDABLE, T> and not derived_from<remove_cvref_t<ITERABLE_OF_ADDABLE>,
Stack<T>>>* =
nullptr>
104 explicit Stack (ITERABLE_OF_ADDABLE&& src);
106 template <IIterableOfTo<T> ITERABLE_OF_ADDABLE>
107 explicit Stack (ITERABLE_OF_ADDABLE&& src)
108 requires (not derived_from<remove_cvref_t<ITERABLE_OF_ADDABLE>,
Stack<T>>);
110 template <IInputIterator<T> ITERATOR_OF_ADDABLE>
111 Stack (ITERATOR_OF_ADDABLE&& start, ITERATOR_OF_ADDABLE&& end);
114 explicit Stack (shared_ptr<_IRep>&& src)
noexcept;
115 explicit Stack (
const shared_ptr<_IRep>& src)
noexcept;
120 nonvirtual
Stack& operator= (
Stack&&) noexcept = default;
121 nonvirtual
Stack& operator= (const
Stack&) = default;
127 nonvirtual
void Push (ArgByValueType<
value_type> item);
144 nonvirtual
void RemoveAll ();
153 template <typename T_EQUALS_COMPARER = equal_to<T>>
159 template <typename ELEMENT_COMPARER = compare_three_way>
166 nonvirtual
bool operator== (const
Stack& rhs) const
167 requires (equality_comparable<T>);
173 nonvirtual auto operator<=> (const
Stack& rhs) const
174 requires (three_way_comparable<T>);
182 nonvirtual
void clear ();
187 template <typename T2>
188 using _SafeReadRepAccessor = typename
inherited::template _SafeReadRepAccessor<T2>;
193 template <typename T2>
194 using _SafeReadWriteRepAccessor = typename
inherited::template _SafeReadWriteRepAccessor<T2>;
197 nonvirtual
void _AssertRepValidType () const;
conditional_t<(sizeof(CHECK_T)<=2 *sizeof(void *)) and is_trivially_copyable_v< CHECK_T >, CHECK_T, const CHECK_T & > ArgByValueType
This is an alias for 'T' - but how we want to pass it on stack as formal parameter.