41class ARCCORE_COMMON_EXPORT ArrayMetaData
47 template <
typename>
friend class AbstractArray;
48 template <
typename>
friend class Array2;
49 template <
typename>
friend class Array;
50 template <
typename>
friend class SharedArray;
51 template <
typename>
friend class SharedArray2;
52 friend class AbstractArrayBase;
86 static void throwInvalidMetaDataForSharedArray ARCCORE_NORETURN();
87 static void throwNullExpected ARCCORE_NORETURN();
88 static void throwNotNullExpected ARCCORE_NORETURN();
89 static void throwUnsupportedSpecificAllocator ARCCORE_NORETURN();
90 static void overlapError ARCCORE_NORETURN(
const void* begin1,
Int64 size1,
91 const void* begin2,
Int64 size2);
95 using MemoryPointer =
void*;
96 using ConstMemoryPointer =
const void*;
106 _allocator()->deallocate(alloc_args, mem_info);
109 void _setMemoryLocationHint(eMemoryLocationHint new_hint,
void* ptr, Int64 sizeof_true_type);
110 void _setHostDeviceMemoryLocation(eHostDeviceMemoryLocation location);
111 void _copyFromMemory(MemoryPointer destination, ConstMemoryPointer source, Int64 sizeof_true_type, RunQueue* queue);
115 void _checkAllocator()
const;
116 MemoryAllocationArgs _getAllocationArgs()
const {
return allocation_options.
allocationArgs(); }
117 MemoryAllocationArgs _getAllocationArgs(RunQueue* queue)
const