29 template <
typename DOMAIN_TYPE,
typename RANGE_TYPE, IEqualsComparer<DOMAIN_TYPE> DOMAIN_EQUALS_COMPARER, IEqualsComparer<RANGE_TYPE> RANGE_EQUALS_COMPARER>
32 static_assert (not is_reference_v<DOMAIN_TYPE>,
33 "typically if this fails its because a (possibly indirect) caller forgot to use forward<TTT>(), or remove_cvref_t");
34 static_assert (not is_reference_v<RANGE_TYPE>,
35 "typically if this fails its because a (possibly indirect) caller forgot to use forward<TTT>(), or remove_cvref_t");
36 static_assert (not is_reference_v<DOMAIN_EQUALS_COMPARER>,
37 "typically if this fails its because a (possibly indirect) caller forgot to use forward<TTT>(), or remove_cvref_t");
38 static_assert (not is_reference_v<RANGE_EQUALS_COMPARER>,
39 "typically if this fails its because a (possibly indirect) caller forgot to use forward<TTT>(), or remove_cvref_t");
53 const DOMAIN_EQUALS_COMPARER& domainEqualsComparer,
const RANGE_EQUALS_COMPARER& rangeEqualsComparer)>;
60 optional<bool> fOptimizeForLookupSpeedOverUpdateSpeed;
87 const RANGE_EQUALS_COMPARER& rangeEqualsComparer = {})
const;
89 const DOMAIN_EQUALS_COMPARER& domainEqualsComparer = {},
90 const RANGE_EQUALS_COMPARER& rangeEqualsComparer = {})
const;
113 static void Register (
const optional<Bijection_Factory>& f = nullopt);