Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
DefaultTraits/SortedAssociation.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2016. All rights reserved
3 */
4#ifndef _Stroika_Foundation_Containers_DefaultTraits_SortedAssociation_h_
5#define _Stroika_Foundation_Containers_DefaultTraits_SortedAssociation_h_ 1
6
7#include "../../StroikaPreComp.h"
8
9#include "../../Common/Compare.h"
10#include "../../Common/Concepts.h"
11
12/*
13 * \file
14 * TODO:
15 *
16 */
17
18namespace Stroika::Foundation::Containers::DefaultTraits {
19
20 /**
21 * Default Association<> Traits
22 */
23 template <typename KEY_TYPE, typename VALUE_TYPE, typename KEY_EQUALS_COMPARER = Common::ComparerWithEquals<KEY_TYPE>,
24 typename VALUE_EQUALS_COMPARER = Common::DefaultEqualsComparerOptionally<VALUE_TYPE>, typename KEY_WELL_ORDER_COMPARER = Common::ComparerWithWellOrder<KEY_TYPE>>
25 struct SortedAssociation : Mapping_DefaultTraits<KEY_TYPE, VALUE_TYPE, KEY_EQUALS_COMPARER, VALUE_EQUALS_COMPARER> {
26 /**
27 */
28 using KeyWellOrderCompareFunctionType = KEY_WELL_ORDER_COMPARER;
29
30 /**
31 */
32 RequireConceptAppliesToTypeMemberOfClass (Concept_WellOrderCompareFunctionType, KeyWellOrderCompareFunctionType);
33 };
34}
35
36/*
37 ********************************************************************************
38 ******************************* Implementation Details *************************
39 ********************************************************************************
40 */
41
42#endif /*_Stroika_Foundation_Containers_DefaultTraits_SortedAssociation_h_ */