public static void Init(ref D3D12MA_BlockMetadata_Generic pThis, [NativeTypeName("UINT64")] ulong size)
        {
            D3D12MA_BlockMetadata.Init(ref pThis.Base, size);
            pThis.m_ZeroInitializedRange.Reset(size);

            pThis.m_FreeCount   = 1;
            pThis.m_SumFreeSize = size;

            D3D12MA_Suballocation suballoc = default;

            suballoc.offset   = 0;
            suballoc.size     = size;
            suballoc.type     = D3D12MA_SUBALLOCATION_TYPE_FREE;
            suballoc.userData = null;

            D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (size > MIN_FREE_SUBALLOCATION_SIZE_TO_REGISTER));
            pThis.m_Suballocations.push_back(in suballoc);

            D3D12MA_List <D3D12MA_Suballocation> .iterator suballocItem = pThis.m_Suballocations.end();
            suballocItem = suballocItem.MoveBack();

            pThis.m_FreeSuballocationsBySize.push_back(in suballocItem);
        }
 public static void Dispose(ref D3D12MA_BlockMetadata_Generic pThis)
 {
     D3D12MA_BlockMetadata.Dispose(ref pThis.Base);
 }