[*] Improve AuList, AuHashMap, and AuBST template
This commit is contained in:
parent
2a0dc1f064
commit
b3e0a6df31
@ -13,16 +13,15 @@
|
|||||||
|
|
||||||
#include "auHashUtils.hpp"
|
#include "auHashUtils.hpp"
|
||||||
|
|
||||||
template <class T, typename Z, typename LessThan_t = AuHash::less<T>>
|
template <class T, typename Z, typename LessThan_t = AuHash::less<T>, class Allocator_t = Aurora::Memory::ClassArrayAllocator<AuPair<const T, Z>>>
|
||||||
using AuBST = AURORA_RUNTIME_AU_BST<T, Z, LessThan_t>;
|
using AuBST = AURORA_RUNTIME_AU_BST<T, Z, LessThan_t, Allocator_t>;
|
||||||
|
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct AuIsBST : AuFalseType
|
struct AuIsBST : AuFalseType
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
template<typename T, typename Z>
|
template<typename T, typename Z, typename A, typename B>
|
||||||
struct AuIsBST<AuBST<T, Z>> : AuTrueType
|
struct AuIsBST<AuBST<T, Z, A, B>> : AuTrueType
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
|
@ -13,15 +13,15 @@
|
|||||||
|
|
||||||
#include "auHashUtils.hpp"
|
#include "auHashUtils.hpp"
|
||||||
|
|
||||||
template <class T, class Z, class Hash_t = AuHash::hash<T>, class Equal_t = AuHash::equal<T>>
|
template <class T, class Z, class Hash_t = AuHash::hash<T>, class Equal_t = AuHash::equal<T>, class Allocator_t = Aurora::Memory::ClassArrayAllocator<AuPair<const T, Z>>>
|
||||||
using AuHashMap = AURORA_RUNTIME_AU_HASH_MAP<T, Z, Hash_t, Equal_t>;
|
using AuHashMap = AURORA_RUNTIME_AU_HASH_MAP<T, Z, Hash_t, Equal_t, Allocator_t>;
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct AuIsHashMap : AuFalseType
|
struct AuIsHashMap : AuFalseType
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
template<typename T, typename Z>
|
template<typename T, typename Z, typename H, typename E, typename A>
|
||||||
struct AuIsHashMap<AuHashMap<T, Z>> : AuTrueType
|
struct AuIsHashMap<AuHashMap<T, Z, H, E, A>> : AuTrueType
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
|
@ -15,17 +15,12 @@
|
|||||||
|
|
||||||
#if defined(AURORA_ROXTL_CONTAINERS_USE_PURE)
|
#if defined(AURORA_ROXTL_CONTAINERS_USE_PURE)
|
||||||
|
|
||||||
template <class T>
|
template <class T, class Allocator_t = AuConditional_t<AuIsClass_v<T>, Aurora::Memory::ClassArrayAllocator<T>, Aurora::Memory::PrimitiveArrayAllocator<T>>>
|
||||||
using AuList = AURORA_RUNTIME_AU_LIST<T>;
|
using AuList = AURORA_RUNTIME_AU_LIST<T, Allocator_t>;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
template <class T>
|
template <class T, class Allocator_t = AuConditional_t<AuIsClass_v<T>, Aurora::Memory::ClassArrayAllocator<T>, Aurora::Memory::PrimitiveArrayAllocator<T>>>
|
||||||
using AuList = AURORA_RUNTIME_AU_LIST<T,
|
using AuList = AURORA_RUNTIME_AU_LIST<T, Allocator_t>;
|
||||||
AuConditional_t<AuIsClass_v<T>,
|
|
||||||
Aurora::Memory::ClassArrayAllocator<T>,
|
|
||||||
Aurora::Memory::PrimitiveArrayAllocator<T>
|
|
||||||
>
|
|
||||||
>;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
Loading…
Reference in New Issue
Block a user