77 class _Rep :
public Iterable<T>::_IRep {
82 using _ContextObjectType = conditional_t<same_as<CONTEXT_FOR_EACH_ITERATOR, void>,
Common::Empty, CONTEXT_FOR_EACH_ITERATOR>;
85 [[no_unique_address]] _ContextObjectType _fContextForEachIterator;
87#if qStroika_Foundation_Debug_AssertionsChecked
94 struct _IteratorTracker {
95 shared_ptr<unsigned int> fCountRunning = make_shared<unsigned int> (0);
101 mutable _IteratorTracker fIteratorTracker_;
106 requires (same_as<CONTEXT_FOR_EACH_ITERATOR, void>)
110 _Rep (
const _ContextObjectType& contextForEachIterator)
111 requires (same_as<void, CONTEXT_FOR_EACH_ITERATOR>);
114 virtual Iterator<T> MakeIterator ()
const override;