6#include "Stroika/Foundation/StroikaPreComp.h"
8#include "Stroika/Foundation/Containers/SortedMapping.h"
12#ifndef _Stroika_Foundation_Containers_Concrete_SortedMapping_stdmap_h_
13#define _Stroika_Foundation_Containers_Concrete_SortedMapping_stdmap_h_
23 using Common::IInOrderComparer;
37 template <
typename KEY_TYPE,
typename MAPPED_VALUE_TYPE>
53 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER = less<KEY_TYPE>>
63 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER>
65 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER>
77#if qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
80 AssertRepValidType_ ();
82 AssertRepValidType_ ();
86 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER, IIterableOfTo<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERABLE_OF_ADDABLE>
88 template <IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
91 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER, IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
106 nonvirtual
void AssertRepValidType_ ()
const;
116#include "SortedMapping_stdmap.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
SortedMapping_stdmap<KEY_TYPE,MAPPED_VALUE_TYPE> is an std::map-based concrete implementation of the ...
map< KEY_TYPE, MAPPED_VALUE_TYPE, KEY_INORDER_COMPARER, Memory::BlockAllocatorOrStdAllocatorAsAppropriate< pair< const key_type, mapped_type >, sizeof(value_type)<=1024 > > STDMAP
STDMAP is std::map<> that can be used inside SortedMapping_stdmap.
nonvirtual CONTAINER_OF_Key_T As() const
Common::ComparisonRelationDeclaration< Common::ComparisonRelationType::eEquals, function< bool(ArgByValueType< key_type >, ArgByValueType< key_type >)> > KeyEqualsCompareFunctionType
nonvirtual unsigned int AddAll(ITERABLE_OF_ADDABLE &&items, AddReplaceMode addReplaceMode=AddReplaceMode::eAddReplaces)
MAPPED_VALUE_TYPE mapped_type
typename inherited::value_type value_type
static constexpr default_sentinel_t end() noexcept
Support for ranged for, and STL syntax in general.