6#include "Stroika/Foundation/StroikaPreComp.h"
10#include "Stroika/Foundation/Containers/SortedAssociation.h"
12#ifndef _Stroika_Foundation_Containers_Concrete_SortedAssociation_stdmultimap_h_
13#define _Stroika_Foundation_Containers_Concrete_SortedAssociation_stdmultimap_h_
34 template <
typename KEY_TYPE,
typename MAPPED_VALUE_TYPE>
50 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER = less<key_type>>
60 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER>
62 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER>
66 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER>
68 template <IIterableOfTo<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERABLE_OF_ADDABLE>
71#if qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
74 AssertRepValidType_ ();
76 AssertRepValidType_ ();
80 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER, IIterableOfTo<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERABLE_OF_ADDABLE>
82 template <IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
84 template <IInOrderComparer<KEY_TYPE> KEY_INORDER_COMPARER, IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
99 nonvirtual
void AssertRepValidType_ ()
const;
109#include "SortedAssociation_stdmultimap.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
nonvirtual CONTAINER_OF_Key_T As() const
MAPPED_VALUE_TYPE mapped_type
nonvirtual void AddAll(ITERABLE_OF_ADDABLE &&items)
typename inherited::value_type value_type
SortedAssociation_stdmultimap<KEY_TYPE,MAPPED_VALUE_TYPE> is an std::map-based concrete implementatio...
multimap< KEY_TYPE, MAPPED_VALUE_TYPE, KEY_INORDER_COMPARER, Memory::BlockAllocatorOrStdAllocatorAsAppropriate< pair< const key_type, mapped_type >, sizeof(value_type)<=1024 > > STDMULTIMAP
STDMULTIMAP is std::multimap<> that can be used inside SortedAssociation_stdmultimap.
SortedAssociation_stdmultimap()
Common::ComparisonRelationDeclaration< Common::ComparisonRelationType::eThreeWayCompare, function< strong_ordering(ArgByValueType< KEY_TYPE >, ArgByValueType< KEY_TYPE >)> > KeyThreeWayComparerType
generic eThreeWayCompare comparer (function) object for KEY_TYPE of the association.
static constexpr default_sentinel_t end() noexcept
Support for ranged for, and STL syntax in general.