4#ifndef _Stroika_Foundation_Containers_Concrete_Mapping_Array_h_
5#define _Stroika_Foundation_Containers_Concrete_Mapping_Array_h_
7#include "Stroika/Foundation/StroikaPreComp.h"
9#include "Stroika/Foundation/Containers/Mapping.h"
29 template <
typename KEY_TYPE,
typename MAPPED_VALUE_TYPE>
45 template <IEqualsComparer<KEY_TYPE> KEY_EQUALS_COMPARER>
50 template <IEqualsComparer<KEY_TYPE> KEY_EQUALS_COMPARER>
52 template <IIterableOfTo<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERABLE_OF_ADDABLE>
55#if qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
62 AssertRepValidType_ ();
66 template <IEqualsComparer<KEY_TYPE> KEY_EQUALS_COMPARER, IIterableOfTo<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERABLE_OF_ADDABLE>
68 template <IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
70 template <IEqualsComparer<KEY_TYPE> KEY_EQUALS_COMPARER, IInputIterator<KeyValuePair<KEY_TYPE, MAPPED_VALUE_TYPE>> ITERATOR_OF_ADDABLE>
79 template <qCompilerAndStdLib_Constra
intDiffersInTemplateRedeclaration_BWA (IEqualsComparer<KEY_TYPE>) KEY_EQUALS_COMPARER>
83 nonvirtual
void AssertRepValidType_ ()
const;
97#include "Mapping_Array.inl"
Mapping_Array<KEY_TYPE, MAPPED_VALUE_TYPE, TRAITS> is an Array-based concrete implementation of the M...
A Mapping uniquely associates two elements: a key and a value (use Assocation to allow multiple value...
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
ArrayBasedContainer is a Stroika implementation detail, but its public methods are fair game and full...
nonvirtual void reserve(size_t slotsAlloced)
impl detail for array based container support (see ArrayBasedContainer docs on bool USING_IREP)
static constexpr default_sentinel_t end() noexcept
Support for ranged for, and STL syntax in general.
Concept checks if the given type T has a const size() method which can be called to return a size_t.