4#ifndef _Stroika_Foundation_Containers_Concrete_Collection_stdforward_list_h_
5#define _Stroika_Foundation_Containers_Concrete_Collection_stdforward_list_h_
7#include "Stroika/Foundation/StroikaPreComp.h"
11#include "Stroika/Foundation/Containers/Collection.h"
52 template <IIterableOfTo<T> ITERABLE_OF_ADDABLE>
55#if qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
58 this->
AddAll (forward<ITERABLE_OF_ADDABLE> (src));
59 AssertRepValidType_ ();
63 template <IInputIterator<T> ITERATOR_OF_ADDABLE>
74 nonvirtual
void AssertRepValidType_ () const;
84#include "Collection_stdforward_list.inl"
conditional_t< qStroika_Foundation_Memory_PreferBlockAllocation and andTrueCheck, BlockAllocator< T >, std::allocator< T > > BlockAllocatorOrStdAllocatorAsAppropriate
for type T, either use BlockAllocator<T>, or std::allocator
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
nonvirtual void AddAll(ITERATOR_OF_ADDABLE &&start, ITERATOR_OF_ADDABLE2 &&end)
typename inherited::value_type value_type
Collection_stdforward_list<T> is an std::forward_list (singly linked list)-based concrete implementat...
forward_list< value_type, Memory::BlockAllocatorOrStdAllocatorAsAppropriate< value_type, sizeof(value_type)<=1024 > > STDFORWARDLIST
STDFORWARDLIST is std::forward_list<> that can be used inside Collection_stdforward_list.
Collection_stdforward_list()
static constexpr default_sentinel_t end() noexcept
Support for ranged for, and STL syntax in general.