XII Release 0.1.0
Loading...
Searching...
No Matches
xiiInternal Namespace Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

Classes

struct  EventMessageSenderHelper
class  WorldData
struct  CompileTimeMurmurHash
struct  CompileTimeMurmurHash< N, 4 >
struct  CompileTimeMurmurHash< N, 3 >
struct  CompileTimeMurmurHash< N, 2 >
struct  CompileTimeMurmurHash< N, 1 >
struct  CompileTimeMurmurHash< N, 0 >
struct  HashHelperImpl
struct  HashHelperImpl< T, true >
struct  ArraySizeHelper
struct  ArraySizeHelper< T[N]>
struct  DeserializeHelper
struct  WriteObjectHelper
struct  WriteObjectHelper< T * >
struct  NewInstance
class  xiiAllocatorImpl
class  xiiAllocatorMixinReallocate
class  xiiAllocatorMixinReallocate< AllocationPolicy, TrackingMode, true >
struct  MessageHandlerTraits
struct  MessageHandler
struct  MessageHandler< true >
struct  xiiStaticRTTI
 [internal] Helper struct for accessing static RTTI data. More...
struct  xiiStaticRTTI< xiiNoBase >
struct  xiiStaticRTTI< void >
struct  xiiStaticRTTIWrapper

Typedefs

using WorldLargeBlockAllocator = xiiLargeBlockAllocator<DEFAULT_BLOCK_SIZE>
using QuadDouble = __m256d
using QuadUInt64 = __m256i
using QuadInt64 = __m256i
using QuadFloat = __m128
using QuadUInt = __m128i
using QuadInt = __m128i
using QuadBool = __m128

Enumerations

enum  { DEFAULT_BLOCK_SIZE = 1024 * 16 }

Functions

XII_CORE_DLL xiiResult AllocateGraphIdentity (xiiAtomicInteger< xiiUInt64 > &counter, xiiUInt64 &out_identity)
 Saturating identity allocation. Failure leaves the counter exhausted and clears the output.
constexpr xiiUInt32 rightShift_and_xorWithPrevSelf (xiiUInt32 h, xiiUInt32 uiShift)
constexpr xiiUInt32 xiiRotLeft (xiiUInt32 value, xiiUInt32 uiAmount)
constexpr xiiUInt64 xiiRotLeft (xiiUInt64 value, xiiUInt64 uiAmount)
template<size_t N>
constexpr xiiUInt32 CompileTimeXxHash32 (const char(&str)[N], xiiUInt32 uiSeed)
template<size_t N>
constexpr xiiUInt64 CompileTimeXxHash64 (const char(&str)[N], xiiUInt64 uiSeed)
template<typename T>
XII_ALWAYS_INLINE bool operator< (const NewInstance< T > &lhs, T *rhs)
template<typename T>
XII_ALWAYS_INLINE bool operator< (T *lhs, const NewInstance< T > &rhs)
template<typename T>
XII_FORCE_INLINE void Delete (xiiAllocator *pAllocator, T *pPtr)
template<typename T>
XII_FORCE_INLINE T * CreateRawBuffer (xiiAllocator *pAllocator, size_t uiCount)
XII_FORCE_INLINE void DeleteRawBuffer (xiiAllocator *pAllocator, void *pPtr)
template<typename T>
xiiArrayPtr< T > CreateArray (xiiAllocator *pAllocator, xiiUInt32 uiCount)
template<typename T>
void DeleteArray (xiiAllocator *pAllocator, xiiArrayPtr< T > arrayPtr)
template<typename T>
XII_FORCE_INLINE T * ExtendRawBuffer (T *pPtr, xiiAllocator *pAllocator, size_t uiCurrentCount, size_t uiNewCount, xiiTypeIsPod)
template<typename T>
XII_FORCE_INLINE T * ExtendRawBuffer (T *pPtr, xiiAllocator *pAllocator, size_t uiCurrentCount, size_t uiNewCount, xiiTypeIsMemRelocatable)
template<typename T>
XII_FORCE_INLINE T * ExtendRawBuffer (T *pPtr, xiiAllocator *pAllocator, size_t uiCurrentCount, size_t uiNewCount, xiiTypeIsClass)
template<typename T>
XII_FORCE_INLINE T * ExtendRawBuffer (T *pPtr, xiiAllocator *pAllocator, size_t uiCurrentCount, size_t uiNewCount)
template<typename T>
XII_ALWAYS_INLINE const xiiRTTI * GetStaticRTTI (xiiTraitInt< 1 >)
template<typename T>
XII_ALWAYS_INLINE const xiiRTTI * GetStaticRTTI (xiiTraitInt< 0 >)
template<typename Type>
xiiBitflags< xiiTypeFlags > DetermineTypeFlags ()
template<>
XII_ALWAYS_INLINE xiiBitflags< xiiTypeFlags > DetermineTypeFlags< xiiVariant > ()
XII_ALWAYS_INLINE uint32_t NeonMoveMask (uint32x4_t x)

Variables

constexpr xiiUInt32 MURMUR_M = 0x5bd1e995
constexpr xiiUInt32 MURMUR_R = 24
constexpr xiiUInt32 PRIME32_1 = 0x9E3779B1U
constexpr xiiUInt32 PRIME32_2 = 0x85EBCA77U
constexpr xiiUInt32 PRIME32_3 = 0xC2B2AE3DU
constexpr xiiUInt32 PRIME32_4 = 0x27D4EB2FU
constexpr xiiUInt32 PRIME32_5 = 0x165667B1U
constexpr xiiUInt64 PRIME64_1 = 0x9E3779B185EBCA87ULL
constexpr xiiUInt64 PRIME64_2 = 0xC2B2AE3D27D4EB4FULL
constexpr xiiUInt64 PRIME64_3 = 0x165667B19E3779F9ULL
constexpr xiiUInt64 PRIME64_4 = 0x85EBCA77C2B2AE63ULL
constexpr xiiUInt64 PRIME64_5 = 0x27D4EB2F165667C5ULL
template<typename T>
constexpr bool AlwaysFalse = false

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

Function Documentation

◆ AllocateGraphIdentity()

xiiResult xiiInternal::AllocateGraphIdentity ( xiiAtomicInteger< xiiUInt64 > & counter,
xiiUInt64 & out_identity )

Saturating identity allocation. Failure leaves the counter exhausted and clears the output.

Copyright (c) Theophilus Eriata. All Rights Reserved.