[*] update
This commit is contained in:
parent
6239971ea7
commit
34c7be7958
@ -87,6 +87,9 @@ namespace AuHash
|
||||
return hash;
|
||||
}
|
||||
#else
|
||||
// nvm lost respect for google
|
||||
// maybe the above hashing algorithms could squeeze out a few more cycles on some architectures, but i doubt it.
|
||||
|
||||
inline _AH_HAS_RETARD_CONSTEXPR AuUInt32 ComputeUnseededHash(AuUInt32 key)
|
||||
{
|
||||
#if defined(_AU_HASH_RETARD_COMPILER)
|
||||
|
@ -55,26 +55,14 @@ struct AuEnableSharedFromThis : Aurora::Memory::ExSharedFromThis<X, std::enable_
|
||||
#define AURORA_RUNTIME_MAKE_SHARED std::make_shared
|
||||
#endif
|
||||
|
||||
#if defined(_AUHAS_FMT)
|
||||
template<typename ... T>
|
||||
static inline AU_NORETURN void SysPanic(T... args);
|
||||
#elif !defined(AURORA_RUNTIME_MEMORY_PANIC)
|
||||
namespace Aurora::Debug
|
||||
{
|
||||
void Panic();
|
||||
}
|
||||
#endif
|
||||
static inline AU_NORETURN void SysPanic(const char *pMsg);
|
||||
|
||||
static auline void AuMemoryPanic(const char *msg)
|
||||
{
|
||||
#if defined(AURORA_RUNTIME_MEMORY_PANIC)
|
||||
AURORA_RUNTIME_MEMORY_PANIC(msg);
|
||||
#else
|
||||
#if defined(_AUHAS_FMT)
|
||||
SysPanic(msg);
|
||||
#else
|
||||
Aurora::Debug::Panic();
|
||||
#endif
|
||||
SysPanic(msg);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -239,9 +227,6 @@ constexpr AuUInt AuSizeOf(const AuSPtr<T>)
|
||||
return sizeof(T);
|
||||
}
|
||||
|
||||
template <class ... T>
|
||||
static auline void AU_NORETURN SysPanic(T... args);
|
||||
|
||||
template <class Z, typename T>
|
||||
static void auline AuSafeDelete(T *in)
|
||||
{
|
||||
@ -324,4 +309,20 @@ namespace Aurora::Memory
|
||||
using StringAllocator = BaseAuroraRuntimeAllocator<T>;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace AuHash
|
||||
{
|
||||
template <class T>
|
||||
struct hash<AuSPtr<T>>
|
||||
{
|
||||
_AH_HAS_RETARD_CONSTEXPR AuUInt operator ()(const AuSPtr<T> &ptr) const
|
||||
{
|
||||
#if defined(AURORA_IS_32BIT)
|
||||
return ComputeUnseededHash(AuUInt(ptr.get()));
|
||||
#else
|
||||
return ComputeLongHash(AuUInt(ptr.get()));
|
||||
#endif
|
||||
}
|
||||
};
|
||||
}
|
@ -13,16 +13,7 @@
|
||||
#if defined(AURORA_ROXTL_CONTAINERS_USE_PURE)
|
||||
using AuString = std::string;
|
||||
#elif defined(AURORA_ROXTL_STRING_USE_STR_ALLOCATOR)
|
||||
template <class Base_t = std::basic_string<char, std::char_traits<char>, Aurora::Memory::StringAllocator<char>>>
|
||||
struct _AuStdExString : Base_t
|
||||
{
|
||||
using Base_t::Base_t;
|
||||
|
||||
_AuStdExString(const std::string &str) : Base_t(str.begin(), str.end())
|
||||
{}
|
||||
};
|
||||
|
||||
using AuString = _AuStdExString<>;
|
||||
using AuString = std::basic_string<char, std::char_traits<char>, Aurora::Memory::StringAllocator<char>>;
|
||||
#else
|
||||
using AuString = std::string;
|
||||
#endif
|
||||
#endif
|
||||
|
@ -116,7 +116,7 @@ template <class T, class CtorCode_t = AuCtorCode_t, typename ... Args, _AU_TRYCO
|
||||
inline AuPair<CtorCode_t, T> AuTryConstructWithDefaultPair(T &&def, Args&& ... args)
|
||||
{
|
||||
CtorCode_t code;
|
||||
T object = AuTryConstructWithDefault<T, CtorCode_t, Args...>(AuReference(code), AuFoward(def), AuForward<Args>(args)...);
|
||||
T object = AuTryConstructWithDefault<T, CtorCode_t, Args...>(AuReference(code), AuForward(def), AuForward<Args>(args)...);
|
||||
return AuMakePair(AuMove(code), AuMove(object));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user