Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ArrayDataT< DataType >::Impl Class Reference
Inheritance diagram for Arcane::ArrayDataT< DataType >::Impl:
Collaboration diagram for Arcane::ArrayDataT< DataType >::Impl:

Public Member Functions

 Impl (ArrayDataT< DataType > *p)
void reserve (Integer new_capacity) override
 Reserves memory for new_capacity elements.
Array< DataType > & _internalDeprecatedValue () override
 Container associated with the data.
Integer capacity () const override
 Capacity allocated by the container.
void shrink () const override
 Frees additional allocated memory.
void resize (Integer new_size) override
 Resizes the container.
void dispose () override
 Clears the container and frees allocated memory.
bool compressAndClear (DataCompressionBuffer &buf) override
 Compresses the data and frees the associated memory.
bool decompressAndFill (DataCompressionBuffer &buf) override
 Decompresses the data and fills the data values.
MutableMemoryView memoryView () override
 Memory view of the data.
Int32 extent0 () const override
 Number of elements in the first dimension.
INumericDataInternalnumericData () override
 Generic interface for numeric data (nullptr if the data is not numeric).
void changeAllocator (const MemoryAllocationOptions &v) override
 Changes the variable's allocator.
void computeHash (DataHashInfo &hash_info) override
 Calculates the hash of the data.
IMemoryAllocatormemoryAllocator () const override
 Allocator used for the data.

Private Attributes

ArrayDataT< DataType > * m_p = nullptr

Detailed Description

template<class DataType>
class Arcane::ArrayDataT< DataType >::Impl

Definition at line 165 of file ArrayData.h.

Constructor & Destructor Documentation

◆ Impl()

template<class DataType>
Arcane::ArrayDataT< DataType >::Impl::Impl ( ArrayDataT< DataType > * p)
inlineexplicit

Definition at line 171 of file ArrayData.h.

Member Function Documentation

◆ _internalDeprecatedValue()

template<class DataType>
Array< DataType > & Arcane::ArrayDataT< DataType >::Impl::_internalDeprecatedValue ( )
inlineoverridevirtual

Container associated with the data.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 178 of file ArrayData.h.

◆ capacity()

template<class DataType>
Integer Arcane::ArrayDataT< DataType >::Impl::capacity ( ) const
inlineoverridevirtual

Capacity allocated by the container.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 179 of file ArrayData.h.

◆ changeAllocator()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::changeAllocator ( const MemoryAllocationOptions & alloc_info)
inlineoverridevirtual

Changes the variable's allocator.

Warning
For experimental use only.

Implements Arcane::INumericDataInternal.

Definition at line 215 of file ArrayData.h.

◆ compressAndClear()

template<class DataType>
bool Arcane::ArrayDataT< DataType >::Impl::compressAndClear ( DataCompressionBuffer & buf)
inlineoverridevirtual

Compresses the data and frees the associated memory.

Compresses the data and fills buf with the compressed information. Then it frees the associated memory. The instance will no longer be usable until decompressAndFill() has been called.

Return values
trueif compression occurred.
falseif the instance does not support compression. In this case it remains usable.
Warning
Calling this method modifies the underlying container. If this data is associated with a variable, IVariable::syncReferences() must be called.

Reimplemented from Arcane::IDataInternal.

Definition at line 183 of file ArrayData.h.

References Arcane::asBytes(), Arcane::IDataCompressor::compress(), and Arcane::SpanImpl< T, SizeType, Extent >::size().

Here is the call graph for this function:

◆ computeHash()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::computeHash ( DataHashInfo & hash_info)
inlineoverridevirtual

Calculates the hash of the data.

Outputs the version and value into hash_info.m_version and hash_info.m_value.

Implements Arcane::IDataInternal.

Definition at line 216 of file ArrayData.h.

◆ decompressAndFill()

template<class DataType>
bool Arcane::ArrayDataT< DataType >::Impl::decompressAndFill ( DataCompressionBuffer & buf)
inlineoverridevirtual

Decompresses the data and fills the data values.

Decompresses the data from buf and fills the values of this instance with the decompressed information.

Return values
trueif decompression occurred.
falseif no decompression occurred because the instance does not support it.
Warning
Calling this method modifies the underlying container. If this data is associated with a variable, IVariable::syncReferences() must be called.

Reimplemented from Arcane::IDataInternal.

Definition at line 196 of file ArrayData.h.

References Arcane::asWritableBytes(), and Arcane::IDataCompressor::decompress().

Here is the call graph for this function:

◆ dispose()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::dispose ( )
inlineoverridevirtual

Clears the container and frees allocated memory.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 182 of file ArrayData.h.

◆ extent0()

template<class DataType>
Int32 Arcane::ArrayDataT< DataType >::Impl::extent0 ( ) const
inlineoverridevirtual

Number of elements in the first dimension.

Implements Arcane::INumericDataInternal.

Definition at line 210 of file ArrayData.h.

◆ memoryAllocator()

template<class DataType>
IMemoryAllocator * Arcane::ArrayDataT< DataType >::Impl::memoryAllocator ( ) const
inlineoverridevirtual

Allocator used for the data.

Implements Arcane::INumericDataInternal.

Definition at line 220 of file ArrayData.h.

◆ memoryView()

template<class DataType>
MutableMemoryView Arcane::ArrayDataT< DataType >::Impl::memoryView ( )
inlineoverridevirtual

Memory view of the data.

Implements Arcane::INumericDataInternal.

Definition at line 206 of file ArrayData.h.

References Arcane::makeMutableMemoryView().

Here is the call graph for this function:

◆ numericData()

template<class DataType>
INumericDataInternal * Arcane::ArrayDataT< DataType >::Impl::numericData ( )
inlineoverridevirtual

Generic interface for numeric data (nullptr if the data is not numeric).

Reimplemented from Arcane::IDataInternal.

Definition at line 214 of file ArrayData.h.

◆ reserve()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::reserve ( Integer new_capacity)
inlineoverridevirtual

Reserves memory for new_capacity elements.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 177 of file ArrayData.h.

◆ resize()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::resize ( Integer new_size)
inlineoverridevirtual

Resizes the container.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 181 of file ArrayData.h.

◆ shrink()

template<class DataType>
void Arcane::ArrayDataT< DataType >::Impl::shrink ( ) const
inlineoverridevirtual

Frees additional allocated memory.

Implements Arcane::IArrayDataInternalT< DataType >.

Definition at line 180 of file ArrayData.h.

Member Data Documentation

◆ m_p

template<class DataType>
ArrayDataT<DataType>* Arcane::ArrayDataT< DataType >::Impl::m_p = nullptr
private

Definition at line 224 of file ArrayData.h.


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