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