Static Public Member Functions | |
| static void throwInvalidMetaDataForSharedArray | ARCCORE_NORETURN () |
| static void throwNullExpected | ARCCORE_NORETURN () |
| static void throwNotNullExpected | ARCCORE_NORETURN () |
| static void throwUnsupportedSpecificAllocator | ARCCORE_NORETURN () |
| static void overlapError | ARCCORE_NORETURN (const void *begin1, Int64 size1, const void *begin2, Int64 size2) |
Protected Types | |
| using | MemoryPointer = void* |
| using | ConstMemoryPointer = const void* |
Protected Member Functions | |
| IMemoryAllocator * | _allocator () const |
| MemoryPointer | _allocate (Int64 nb, Int64 sizeof_true_type, RunQueue *queue) |
| MemoryPointer | _reallocate (const AllocatedMemoryInfo &mem_info, Int64 new_capacity, Int64 sizeof_true_type, RunQueue *queue) |
| void | _deallocate (const AllocatedMemoryInfo &mem_info, RunQueue *queue) noexcept |
| MemoryPointer | _changeAllocator (const MemoryAllocationOptions &new_allocator_opt, const AllocatedMemoryInfo ¤t_info, Int64 sizeof_true_type, RunQueue *queue) |
| void | _setMemoryLocationHint (eMemoryLocationHint new_hint, void *ptr, Int64 sizeof_true_type) |
| void | _setHostDeviceMemoryLocation (eHostDeviceMemoryLocation location) |
| void | _copyFromMemory (MemoryPointer destination, ConstMemoryPointer source, Int64 sizeof_true_type, RunQueue *queue) |
Protected Attributes | |
| Int64 | size = 0 |
| Number of elements in the array (for 1D arrays). | |
| Int64 | dim1_size = 0 |
| Size of the first dimension (for 2D arrays). | |
| Int64 | dim2_size = 0 |
| Size of the second dimension (for 2D arrays). | |
| Int64 | capacity = 0 |
| Number of allocated elements. | |
| MemoryAllocationOptions | allocation_options |
| Memory allocator and associated options. | |
| Int32 | nb_ref = 0 |
| Number of references on the instance. | |
| eHostDeviceMemoryLocation | m_host_device_memory_location = eHostDeviceMemoryLocation::Unknown |
| Information about the physical location of the memory (if known). | |
| bool | is_allocated_by_new = false |
| Indicates if this instance was allocated by the new operator. | |
| bool | is_not_null = false |
| Indicates if this instance is not the null instance (shared by all SharedArray). | |
| bool | is_collective_allocator = false |
| Indicates if calls to the allocator must be performed collectively. | |
Private Member Functions | |
| void | _checkAllocator () const |
| MemoryAllocationArgs | _getAllocationArgs () const |
| MemoryAllocationArgs | _getAllocationArgs (RunQueue *queue) const |
Static Private Member Functions | |
| static IMemoryAllocator * | _defaultAllocator () |
Friends | |
| template<typename> | |
| class | AbstractArray |
| template<typename> | |
| class | Array2 |
| template<typename> | |
| class | Array |
| template<typename> | |
| class | SharedArray |
| template<typename> | |
| class | SharedArray2 |
| class | AbstractArrayBase |
Array Metadata.
This class is used to hold common metadata for all implementations that derive from AbstractArray.
Only classes that implement a UniqueArray semantics are allowed to use an allocator other than the default allocator.
Definition at line 42 of file ArrayMetaData.h.
|
protected |
Definition at line 101 of file ArrayMetaData.h.
|
protected |
Definition at line 100 of file ArrayMetaData.h.
|
inline |
Definition at line 58 of file ArrayMetaData.h.
|
protected |
Definition at line 120 of file arccore/src/common/arccore/common/Array.cc.
|
inlineprotected |
Definition at line 87 of file ArrayMetaData.h.
|
protected |
Definition at line 205 of file arccore/src/common/arccore/common/Array.cc.
|
private |
Definition at line 63 of file arccore/src/common/arccore/common/Array.cc.
|
protected |
Definition at line 107 of file arccore/src/common/arccore/common/Array.cc.
|
inlineprotectednoexcept |
Definition at line 107 of file ArrayMetaData.h.
|
staticprivate |
Definition at line 54 of file arccore/src/common/arccore/common/Array.cc.
|
inlineprivate |
Definition at line 122 of file ArrayMetaData.h.
|
inlineprivate |
Definition at line 123 of file ArrayMetaData.h.
|
protected |
Definition at line 153 of file arccore/src/common/arccore/common/Array.cc.
|
protected |
Definition at line 98 of file arccore/src/common/arccore/common/Array.cc.
|
protected |
Definition at line 85 of file arccore/src/common/arccore/common/Array.cc.
|
friend |
Definition at line 48 of file ArrayMetaData.h.
|
friend |
Definition at line 53 of file ArrayMetaData.h.
|
friend |
Definition at line 50 of file ArrayMetaData.h.
|
friend |
Definition at line 49 of file ArrayMetaData.h.
|
friend |
Definition at line 51 of file ArrayMetaData.h.
|
friend |
Definition at line 52 of file ArrayMetaData.h.
|
protected |
Memory allocator and associated options.
Definition at line 73 of file ArrayMetaData.h.
Referenced by Arcane::Array2< T >::setDebugName().
|
protected |
Number of allocated elements.
Definition at line 71 of file ArrayMetaData.h.
|
protected |
Size of the first dimension (for 2D arrays).
Definition at line 67 of file ArrayMetaData.h.
|
protected |
Size of the second dimension (for 2D arrays).
Definition at line 69 of file ArrayMetaData.h.
|
protected |
Indicates if this instance was allocated by the new operator.
Definition at line 79 of file ArrayMetaData.h.
|
protected |
Indicates if calls to the allocator must be performed collectively.
Definition at line 83 of file ArrayMetaData.h.
|
protected |
Indicates if this instance is not the null instance (shared by all SharedArray).
Definition at line 81 of file ArrayMetaData.h.
|
protected |
Information about the physical location of the memory (if known).
Definition at line 77 of file ArrayMetaData.h.
|
protected |
Number of references on the instance.
Definition at line 75 of file ArrayMetaData.h.
|
protected |
Number of elements in the array (for 1D arrays).
Definition at line 65 of file ArrayMetaData.h.