30class ARCCORE_COLLECTIONS_EXPORT MemoryAllocationOptions
 
   32  friend class ArrayMetaData;
 
   36  MemoryAllocationOptions() = 
default;
 
   39  : m_allocator(allocator)
 
   44  : m_allocator(allocator)
 
   45  , m_memory_location_hint(mem_hint)
 
   50  : m_allocator(allocator)
 
   52  , m_memory_location_hint(mem_hint)
 
   58  MemoryAllocationOptions(
const MemoryAllocationOptions& rhs)
 
   59  : m_allocator(rhs.m_allocator)
 
   60  , m_debug_info(rhs.m_debug_info)
 
   61  , m_device(rhs.m_device)
 
   62  , m_memory_location_hint(rhs.m_memory_location_hint)
 
   63  , m_host_device_memory_location(rhs.m_host_device_memory_location)
 
   69  ~MemoryAllocationOptions()
 
   72      _removeDebugReference();
 
   74  MemoryAllocationOptions& operator=(
const MemoryAllocationOptions& rhs)
 
   79      _removeDebugReference();
 
   80    m_allocator = rhs.m_allocator;
 
   81    m_memory_location_hint = rhs.m_memory_location_hint;
 
   82    m_host_device_memory_location = rhs.m_host_device_memory_location;
 
   83    m_device = rhs.m_device;
 
   84    m_debug_info = rhs.m_debug_info;
 
   96  void setMemoryLocationHint(
eMemoryLocationHint mem_advice) { m_memory_location_hint = mem_advice; }
 
  101  Int16 device()
 const { 
return m_device; }
 
  102  void setDevice(
Int16 device) { m_device = device; }
 
  104  void setArrayName(
const String& name);
 
  107  RunQueue* runQueue()
 const { 
return m_queue; }
 
  115  friend bool operator==(
const MemoryAllocationOptions& a, 
const MemoryAllocationOptions& b)
 
  117    if (a.m_allocator != b.m_allocator)
 
  119    if (a.m_memory_location_hint != b.m_memory_location_hint)
 
  121    if (a.m_host_device_memory_location != b.m_host_device_memory_location)
 
  123    if (a.m_device != b.m_device)
 
  125    if (a.m_queue != b.m_queue)
 
  141  void _addDebugReference();
 
  142  void _removeDebugReference();