Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::SharedArray< T > Class Template Reference

1D vector of data with reference semantics. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/common/arccore/common/Array.h>

Inheritance diagram for Arcane::SharedArray< T >:
Collaboration diagram for Arcane::SharedArray< T >:

Public Types

typedef SharedArray< T > ThatClassType
typedef AbstractArray< T > BaseClassType
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
Public Types inherited from Arcane::Array< T >
typedef AbstractArray< T > BaseClassType
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
typedef ArrayIterator< const_pointerconst_iterator
 Type of the constant iterator over an array element.
typedef const value_typeconst_pointer
 Constant pointer type of an array element.
typedef ConstReferenceType const_reference
 Type constant reference of an array element.
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
typedef ptrdiff_t difference_type
 Type of a distance between array element iterators.
typedef ArrayIterator< pointeriterator
 Type of the iterator over an array element.
typedef value_typepointer
 Pointer type of an array element.
typedef value_typereference
 Type reference of an array element.
typedef std::reverse_iterator< iteratorreverse_iterator
typedef Int64 size_type
 Type indexing the array.
typedef T value_type
 Type of the array elements.
Public Types inherited from Arcane::AbstractArray< T >
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
typedef ArrayTraits< T >::IsPODType IsPODType
typedef AbstractArray< T > ThatClassType
using TrueImpl = T
typedef T value_type
 Type of the array elements.
typedef value_typepointer
 Pointer type of an array element.
typedef const value_typeconst_pointer
 Constant pointer type of an array element.
typedef ArrayIterator< pointeriterator
 Type of the iterator over an array element.
typedef ArrayIterator< const_pointerconst_iterator
 Type of the constant iterator over an array element.
typedef value_typereference
 Type reference of an array element.
typedef ConstReferenceType const_reference
 Type constant reference of an array element.
typedef Int64 size_type
 Type indexing the array.
typedef ptrdiff_t difference_type
 Type of a distance between array element iterators.
typedef std::reverse_iterator< iteratorreverse_iterator
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator

Public Member Functions

 SharedArray ()=default
 Creates an empty array.
 SharedArray (Int64 asize, ConstReferenceType value)
 Creates an array of size elements containing the value value.
 SharedArray (long long asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (long asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (int asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (unsigned long long asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (unsigned long asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (unsigned int asize)
 Creates an array of size elements containing the default value of type T().
 SharedArray (const ConstArrayView< T > &aview)
 Creates an array by copying the values from the value view.
 SharedArray (const Span< const T > &aview)
 Creates an array by copying the values from the value view.
 SharedArray (const ArrayView< T > &aview)
 Creates an array by copying the values from the value view.
 SharedArray (const Span< T > &aview)
 Creates an array by copying the values from the value view.
 SharedArray (std::initializer_list< T > alist)
 SharedArray (const SharedArray< T > &rhs)
 Creates an array referencing rhs.
 SharedArray (const UniqueArray< T > &rhs)
 Creates an array by copying the values of rhs.
 SharedArray (IMemoryAllocator *allocator)
 Creates an empty array with a specific allocator allocator.
 SharedArray (const MemoryAllocationOptions &allocation_options)
 Creates an empty array with a specific allocator allocation_options.
 SharedArray (IMemoryAllocator *allocator, Int64 asize)
 Creates an array of asize elements with a specific allocator allocator.
 SharedArray (const MemoryAllocationOptions &allocation_options, Int64 asize)
 Creates an array of asize elements with a specific allocator allocator.
 SharedArray (IMemoryAllocator *allocator, Span< const T > rhs)
 Creates an array with the allocator allocator by copying the values rhs.
void operator= (const SharedArray< T > &rhs)
 Changes the reference of this instance to that of rhs.
void operator= (const UniqueArray< T > &rhs)
 Copies the values of rhs into this instance.
void operator= (const Span< const T > &rhs)
 Copies the values of the view rhs into this instance.
void operator= (const Span< T > &rhs)
 Copies the values of the view rhs into this instance.
void operator= (const ConstArrayView< T > &rhs)
 Copies the values of the view rhs into this instance.
void operator= (const ArrayView< T > &rhs)
 Copies the values of the view rhs into this instance.
void operator= (std::initializer_list< T > alist)
 ~SharedArray () override
 Destroys the array.
SharedArray< T > clone () const
 Clones the array.
Public Member Functions inherited from Arcane::Array< T >
 operator ConstArrayView< T > () const
 operator ArrayView< T > ()
 operator Span< const T > () const
 operator Span< T > ()
ConstArrayView< T > constView () const
 Constant view of this array.
Span< const T > constSpan () const
 Constant view of this array.
ConstArrayView< T > subConstView (Int64 abegin, Int32 asize) const
 Sub-view starting from element abegin and containing asize elements.
ArrayView< T > view () const
 Mutable view of this array.
Span< const T > span () const
 Immutable view of this array.
Span< T > span ()
 Mutable view of this array.
SmallSpan< const T > smallSpan () const
 Immutable view of this array.
SmallSpan< const T > constSmallSpan () const
 Immutable view of this array.
SmallSpan< T > smallSpan ()
 Mutable view of this array.
ArrayView< T > subView (Int64 abegin, Integer asize)
 Sub-view starting from element abegin and containing asize elements.
void sample (ConstArrayView< Integer > indexes, ArrayView< T > result) const
 Extracts a sub-array from a list of indices.
void add (ConstReferenceType val)
 Adds element val to the end of the array.
void addRange (ConstReferenceType val, Int64 n)
 Adds n elements of value val to the end of the array.
void addRange (ConstArrayView< T > val)
 Adds n elements of value val to the end of the array.
void addRange (Span< const T > val)
 Adds n elements of value val to the end of the array.
void addRange (ArrayView< T > val)
 Adds n elements of value val to the end of the array.
void addRange (Span< T > val)
 Adds n elements of value val to the end of the array.
void addRange (const Array< T > &val)
 Adds n elements of value val to the end of the array.
void resize (Int64 s)
 Changes the number of elements in the array to s.
void resize (Int64 s, ConstReferenceType fill_value)
 Changes the number of elements in the array to s.
void resizeNoInit (Int64 s)
 Resizes without initializing new values.
void reserve (Int64 new_capacity)
 Reserves memory for new_capacity elements.
void shrink ()
 Reallocates to free unused memory.
void shrink (Int64 new_capacity)
 Reallocates memory to have a capacity close to new_capacity.
void shrink_to_fit ()
 Reallocates to free unused memory.
void remove (Int64 index)
 Removes the entity at index index.
void popBack ()
 Removes the last entity from the array.
T & at (Int64 i)
 Element at index i. Always checks for overflows.
ConstReferenceType at (Int64 i) const
 Element at index i. Always checks for overflows.
void setAt (Int64 i, ConstReferenceType value)
 Sets the element at index i. Always checks for overflows.
ConstReferenceType item (Int64 i) const
 Element at index i.
void setItem (Int64 i, ConstReferenceType v)
 Element at index i.
ConstReferenceType operator[] (Int64 i) const
 Element at index i.
T & operator[] (Int64 i)
 Element at index i.
ConstReferenceType operator() (Int64 i) const
T & operator() (Int64 i)
 Element at index i.
T & back ()
 Last element of the array.
ConstReferenceType back () const
 Last element of the array (const).
T & front ()
 First element of the array.
ConstReferenceType front () const
 First element of the array (const).
void clear ()
 Removes the elements from the array.
void fill (ConstReferenceType value)
 Fills the array with the value value.
void copy (Span< const T > rhs)
 Copies the values from rhs into the instance.
Array< T > clone () const
 Clones the array.
const T * unguardedBasePointer () const
T * unguardedBasePointer ()
const T * data () const
 Access to the root of the array without any protection.
T * data ()
iterator begin ()
 Iterator over the first element of the array.
const_iterator begin () const
 Constant iterator over the first element of the array.
iterator end ()
 Iterator over the first element after the end of the array.
const_iterator end () const
 Constant iterator over the first element after the end of the array.
reverse_iterator rbegin ()
 Reverse iterator over the first element of the array.
const_reverse_iterator rbegin () const
 Reverse iterator over the first element of the array.
reverse_iterator rend ()
 Reverse iterator over the first element after the end of the array.
const_reverse_iterator rend () const
 Reverse iterator over the first element after the end of the array.
ArrayRange< pointerrange ()
 Iteration range from the first to the last element.
ArrayRange< const_pointerrange () const
 Iteration range from the first to the last element.
void push_back (ConstReferenceType val)
 Adds the element val to the end of the array.
Public Member Functions inherited from Arcane::AbstractArray< T >
 AbstractArray (const AbstractArray< T > &rhs)=delete
AbstractArray< T > & operator= (const AbstractArray< T > &rhs)=delete
void dispose ()
 Frees the memory used by the array.
 operator ConstArrayView< T > () const
 operator Span< const T > () const
 operator SmallSpan< const T > () const
Integer size () const
 Number of elements in the vector.
Integer length () const
 Number of elements in the vector.
Integer capacity () const
 Capacity (number of allocated elements) of the vector.
Int64 largeSize () const
 Number of elements in the vector (in 64 bits).
Int64 largeLength () const
 Number of elements in the vector (in 64 bits).
Int64 largeCapacity () const
 Capacity (number of allocated elements) of the vector (in 64 bits).
bool empty () const
 Capacity (number of allocated elements) of the vector.
bool contains (ConstReferenceType v) const
 True if the array contains the value element v.
ConstReferenceType operator[] (Int64 i) const
 Element at index i.
ConstReferenceType operator() (Int64 i) const
 Element at index i.
void setMemoryLocationHint (eMemoryLocationHint new_hint)
 Modifies the memory location information.
void _internalSetHostDeviceMemoryLocation (eHostDeviceMemoryLocation location)
 Sets the physical location of the memory region.
eHostDeviceMemoryLocation hostDeviceMemoryLocation () const
 Sets the physical location of the memory region.
void changeAllocator (const MemoryAllocationOptions &options, RunQueue *queue)
void changeAllocator (const MemoryAllocationOptions &options)
void printInfos (std::ostream &o)
Public Member Functions inherited from Arcane::AbstractArrayBase
IMemoryAllocatorallocator () const
MemoryAllocationOptions allocationOptions () const
void setDebugName (const String &name)
 Sets the array name for debug information.
String debugName () const
 Debug name (null if no name specified).

Protected Member Functions

void _initReference (const ThatClassType &rhs)
void _updateReferences () final
 Update references.
Integer _getNbRef () final
 Update references.
bool _isUseOwnMetaData () const final
 Indicates if m_md refers to m_meta_data.
void _addReference (const ThatClassType *new_ref)
 Inserts this instance into the linked list. The instance is inserted at the position of new_ref.
void _removeReference ()
 Removes this instance from the linked list of references.
void _checkFreeMemory ()
 Destroys the instance if no one references it anymore.
void _operatorEqual (const ThatClassType &rhs)
Protected Member Functions inherited from Arcane::Array< T >
 Array (Array< T > &&rhs) ARCCORE_NOEXCEPT
 Move constructor (only for UniqueArray).
void _initFromInitializerList (std::initializer_list< T > alist)
Protected Member Functions inherited from Arcane::AbstractArray< T >
 AbstractArray ()
 Constructs an empty vector with the default allocator.
 AbstractArray (ThatClassType &&rhs) ARCCORE_NOEXCEPT
 Move constructor. Should only be used by UniqueArray.
AllocatedMemoryInfo _currentMemoryInfo () const
void _initFromSpan (const Span< const T > &view)
 Initializes the array with the view view.
void _initFromAllocator (MemoryAllocationOptions o, Int64 acapacity, void *pre_allocated_buffer=nullptr)
 Constructs an empty vector with a specific allocator a.
void _reserve (Int64 new_capacity)
 Reserves memory for new_capacity elements.
void _internalRealloc (Int64 new_capacity, bool compute_capacity, RunQueue *queue=nullptr)
 Reallocates the array for a new capacity equal to new_capacity.
void _internalReallocate (Int64 new_capacity, RunQueue *queue)
void _internalDeallocate (RunQueue *queue=nullptr)
void _internalAllocate (Int64 new_capacity, RunQueue *queue)
void _copyFromMemory (const T *source)
void _addRange (ConstReferenceType val, Int64 n)
 Adds n elements of value val to the end of the array.
void _addRange (Span< const T > val)
 Adds n elements of value val to the end of the array.
void _checkFreeMemory ()
 Destroys the instance if no one references it.
void _destroy ()
void _destroyRange (Int64, Int64, TrueType)
void _destroyRange (Int64 abegin, Int64 aend, FalseType)
void _createRangeDefault (Int64, Int64, TrueType)
void _createRangeDefault (Int64 abegin, Int64 aend, FalseType)
void _createRange (Int64 abegin, Int64 aend, ConstReferenceType value, TrueType)
void _createRange (Int64 abegin, Int64 aend, ConstReferenceType value, FalseType)
void _createRange (Int64 abegin, Int64 aend, const T *values)
void _fill (ConstReferenceType value)
void _clone (const ThatClassType &orig_array)
template<typename PodType>
void _resizeHelper (Int64 s, PodType pod_type, RunQueue *queue)
void _resize (Int64 s)
void _resizeNoInit (Int64 s, RunQueue *queue=nullptr)
 Redimensionne sans initialiser les nouvelles valeurs.
void _clear ()
void _resize (Int64 s, ConstReferenceType value)
 Redimensionne et remplit les nouvelles valeurs avec value.
void _copy (const T *rhs_begin, TrueType)
void _copy (const T *rhs_begin, FalseType)
void _copy (const T *rhs_begin)
void _resizeAndCopyView (Span< const T > rhs)
 Redimensionne l'instance et recopie les valeurs de rhs.
void _move (ThatClassType &rhs) ARCCORE_NOEXCEPT
 Implements the move assignment operator.
void _swap (ThatClassType &rhs) ARCCORE_NOEXCEPT
 Swaps the values of the instance with those of rhs.
void _shrink ()
void _shrink (Int64 new_capacity)
void _reset ()
 Resets the array to an empty array.
constexpr Integer _clampSizeOffet (Int64 offset, Int32 asize) const
void _assignFromArray (const AbstractArray< T > &rhs)
void _setMP (TrueImpl *new_mp)
void _setMP2 (TrueImpl *new_mp, ArrayMetaData *new_md)
bool _isSharedNull ()
Protected Member Functions inherited from Arcane::AbstractArrayBase
void _swapMetaData (AbstractArrayBase &rhs)
void _copyMetaData (const AbstractArrayBase &rhs)
void _allocateMetaData ()
void _deallocateMetaData (ArrayMetaData *md)
void _checkValidSharedArray ()

Private Member Functions

void operator= (const Array< T > &rhs)=delete
 Forbidden.

Private Attributes

ThatClassType * m_next = nullptr
 Next reference in the linked list.
ThatClassType * m_prev = nullptr
 Previous reference in the linked list.

Additional Inherited Members

Static Protected Member Functions inherited from Arcane::AbstractArray< T >
static constexpr Int64 typeSize ()
Static Protected Member Functions inherited from Arcane::AbstractArrayBase
static constexpr RunQueue_nullRunQueue ()
 Explicit method for a null RunQueue.
Protected Attributes inherited from Arcane::AbstractArray< T >
T * m_ptr = nullptr
Protected Attributes inherited from Arcane::AbstractArrayBase
ArrayMetaDatam_md = nullptr
ArrayMetaData m_meta_data

Detailed Description

template<typename T>
class Arcane::SharedArray< T >

1D vector of data with reference semantics.

To have a vector that uses value semantics (like std::vector), you must use the UniqueArray class.

Reference semantics work as follows:

a2 = a1; // a2 and a1 refer to the same memory area.
a1[3] = 1;
a2[3] = 2;
std::cout << a1[3]; // displays '2'
SharedArray()=default
Creates an empty array.

In the previous example, a1 and a2 refer to the same area of memory and therefore a2[3] will have the same value as a1[3] (which is the value 2),

A shared array is deallocated when there are no more references to this array.

Warning
Referencing/dereferencing operations (assignment operators, copy operators, and destructors) are not thread-safe. Consequently, this type of array must be used with caution in a multi-threaded environment.
See also
UniqueArray.

Definition at line 545 of file arccore/src/common/arccore/common/Array.h.

Member Typedef Documentation

◆ BaseClassType

template<typename T>
typedef AbstractArray<T> Arcane::SharedArray< T >::BaseClassType

Definition at line 556 of file arccore/src/common/arccore/common/Array.h.

◆ ConstReferenceType

template<typename T>
typedef ArrayTraits<T>::ConstReferenceType Arcane::AbstractArray< T >::ConstReferenceType

Definition at line 174 of file AbstractArray.h.

◆ ThatClassType

template<typename T>
typedef SharedArray<T> Arcane::SharedArray< T >::ThatClassType

Definition at line 555 of file arccore/src/common/arccore/common/Array.h.

Constructor & Destructor Documentation

◆ SharedArray() [1/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( Int64 asize,
ConstReferenceType value )
inline

Creates an array of size elements containing the value value.

Definition at line 564 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [2/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( long long asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 570 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [3/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( long asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 576 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [4/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( int asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 580 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [5/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( unsigned long long asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 584 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [6/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( unsigned long asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 588 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [7/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( unsigned int asize)
inlineexplicit

Creates an array of size elements containing the default value of type T().

Definition at line 592 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [8/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const ConstArrayView< T > & aview)
inline

Creates an array by copying the values from the value view.

Definition at line 596 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [9/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const Span< const T > & aview)
inline

Creates an array by copying the values from the value view.

Definition at line 603 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [10/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const ArrayView< T > & aview)
inline

Creates an array by copying the values from the value view.

Definition at line 610 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [11/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const Span< T > & aview)
inline

Creates an array by copying the values from the value view.

Definition at line 617 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [12/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( std::initializer_list< T > alist)
inline

Definition at line 623 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [13/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const SharedArray< T > & rhs)
inline

Creates an array referencing rhs.

Definition at line 630 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [14/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const UniqueArray< T > & rhs)
inline

Creates an array by copying the values of rhs.

Definition at line 1145 of file arccore/src/common/arccore/common/Array.h.

References Arcane::AbstractArray< T >::_initFromSpan(), Arcane::Array< T >::constSpan(), m_next, and m_prev.

Here is the call graph for this function:

◆ SharedArray() [15/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( IMemoryAllocator * allocator)
inlineexplicit

Creates an empty array with a specific allocator allocator.

Warning
Using specific allocator for SharedArray is experimental

Definition at line 644 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [16/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const MemoryAllocationOptions & allocation_options)
inlineexplicit

Creates an empty array with a specific allocator allocation_options.

Warning
Using specific allocator for SharedArray is experimental

Definition at line 654 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [17/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( IMemoryAllocator * allocator,
Int64 asize )
inline

Creates an array of asize elements with a specific allocator allocator.

If ArrayTraits<T>::IsPODType is TrueType, the elements are not initialized. Otherwise, the default constructor of T is used.

Definition at line 668 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [18/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const MemoryAllocationOptions & allocation_options,
Int64 asize )
inline

Creates an array of asize elements with a specific allocator allocator.

If ArrayTraits<T>::IsPODType is TrueType, the elements are not initialized. Otherwise, the default constructor of T is used.

Definition at line 680 of file arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [19/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( IMemoryAllocator * allocator,
Span< const T > rhs )
inline

Creates an array with the allocator allocator by copying the values rhs.

Definition at line 689 of file arccore/src/common/arccore/common/Array.h.

◆ ~SharedArray()

template<typename T>
Arcane::SharedArray< T >::~SharedArray ( )
inlineoverride

Destroys the array.

Definition at line 736 of file arccore/src/common/arccore/common/Array.h.

Member Function Documentation

◆ _addReference()

template<typename T>
void Arcane::SharedArray< T >::_addReference ( const ThatClassType * new_ref)
inlineprotected

Inserts this instance into the linked list. The instance is inserted at the position of new_ref.

Precondition
m_prev==0
m_next==0;

Definition at line 791 of file arccore/src/common/arccore/common/Array.h.

◆ _checkFreeMemory()

template<typename T>
void Arcane::SharedArray< T >::_checkFreeMemory ( )
inlineprotected

Destroys the instance if no one references it anymore.

Definition at line 810 of file arccore/src/common/arccore/common/Array.h.

◆ _getNbRef()

template<typename T>
Integer Arcane::SharedArray< T >::_getNbRef ( )
inlinefinalprotectedvirtual

Update references.

Reimplemented from Arcane::AbstractArray< T >.

Definition at line 769 of file arccore/src/common/arccore/common/Array.h.

◆ _initReference()

template<typename T>
void Arcane::SharedArray< T >::_initReference ( const ThatClassType & rhs)
inlineprotected

Definition at line 751 of file arccore/src/common/arccore/common/Array.h.

◆ _isUseOwnMetaData()

template<typename T>
bool Arcane::SharedArray< T >::_isUseOwnMetaData ( ) const
inlinefinalprotectedvirtual

Indicates if m_md refers to m_meta_data.

This is the case for UniqueArray and UniqueArray2 but not for SharedArray and SharedArray2.

Reimplemented from Arcane::AbstractArrayBase.

Definition at line 781 of file arccore/src/common/arccore/common/Array.h.

◆ _operatorEqual()

template<typename T>
void Arcane::SharedArray< T >::_operatorEqual ( const ThatClassType & rhs)
inlineprotected

Definition at line 817 of file arccore/src/common/arccore/common/Array.h.

◆ _removeReference()

template<typename T>
void Arcane::SharedArray< T >::_removeReference ( )
inlineprotected

Removes this instance from the linked list of references.

Definition at line 802 of file arccore/src/common/arccore/common/Array.h.

Referenced by Arcane::SharedArray< XmlNode >::~SharedArray().

Here is the caller graph for this function:

◆ _updateReferences()

template<typename T>
void Arcane::SharedArray< T >::_updateReferences ( )
inlinefinalprotectedvirtual

Update references.

Reimplemented from Arcane::AbstractArray< T >.

Definition at line 760 of file arccore/src/common/arccore/common/Array.h.

◆ clone()

template<typename T>
SharedArray< T > Arcane::SharedArray< T >::clone ( ) const
inline

Clones the array.

Definition at line 744 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [1/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const ArrayView< T > & rhs)
inline

Copies the values of the view rhs into this instance.

Definition at line 723 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [2/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const ConstArrayView< T > & rhs)
inline

Copies the values of the view rhs into this instance.

Definition at line 717 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [3/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const SharedArray< T > & rhs)
inline

Changes the reference of this instance to that of rhs.

Definition at line 697 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [4/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const Span< const T > & rhs)
inline

Copies the values of the view rhs into this instance.

Definition at line 705 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [5/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const Span< T > & rhs)
inline

Copies the values of the view rhs into this instance.

Definition at line 711 of file arccore/src/common/arccore/common/Array.h.

◆ operator=() [6/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( const UniqueArray< T > & rhs)
inline

Copies the values of rhs into this instance.

Definition at line 1158 of file arccore/src/common/arccore/common/Array.h.

References Arcane::Array< T >::copy().

Here is the call graph for this function:

◆ operator=() [7/7]

template<typename T>
void Arcane::SharedArray< T >::operator= ( std::initializer_list< T > alist)
inline

Definition at line 728 of file arccore/src/common/arccore/common/Array.h.

Member Data Documentation

◆ m_next

template<typename T>
ThatClassType* Arcane::SharedArray< T >::m_next = nullptr
private

Next reference in the linked list.

Definition at line 831 of file arccore/src/common/arccore/common/Array.h.

Referenced by Arcane::SharedArray< XmlNode >::_addReference(), and SharedArray().

◆ m_prev

template<typename T>
ThatClassType* Arcane::SharedArray< T >::m_prev = nullptr
private

Previous reference in the linked list.

Definition at line 832 of file arccore/src/common/arccore/common/Array.h.

Referenced by Arcane::SharedArray< XmlNode >::_addReference(), and SharedArray().


The documentation for this class was generated from the following file: