Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::SerializedData Class Reference

Public Member Functions

 SerializedData (eDataType base_data_type, Int64 memory_size, Integer nb_dimension, Int64 nb_element, Int64 nb_base_element, bool is_multi_size, Int64ConstArrayView extents, const ArrayShape &shape)
eDataType baseDataType () const override
 Data type.
Integer nbDimension () const override
 Dimension. 0 for a scalar, 1 for a 1D array, ...
Int64 nbElement () const override
 Number of elements.
bool isMultiSize () const override
 Indicates if it is a multi-size array. (only relevant if nbDimension()>1).
Int64 memorySize () const override
 Indicates the number of bytes that must be allocated to store or read the data.
Int64ConstArrayView extents () const override
 Array containing the number of elements for each dimension.
ArrayShape shape () const override
 Shape of the array associated with the data.
Int64 nbBaseElement () const override
 Number of base elements.
ByteConstArrayView buffer () const override
ByteArrayView buffer () override
Span< const Bytebytes () const override
 Serialized values.
Span< const ByteconstBytes () const override
 Serialized values.
Span< Bytebytes () override
 Serialized values.
void setBuffer (ByteArrayView buffer) override
 Positions the serialized values.
void setBuffer (ByteConstArrayView buffer) override
 Positions the serialized values.
void setBytes (Span< Byte > bytes) override
 Positions the serialized values.
void setBytes (Span< const Byte > bytes) override
 Positions the serialized values.
Span< BytewritableBytes () override
 View of the serialized values.
void setWritableBytes (Span< Byte > bytes) override
 Positions the serialized values.
void setConstBytes (Span< const Byte > bytes) override
 Positions the serialized values for reading.
void allocateMemory (Int64 size) override
 Allocates an array to hold the serialized elements.
void serialize (ISerializer *buffer) override
 Serialize the data for reading or writing.
void serialize (ISerializer *buffer) const override
void computeHash (IHashAlgorithm *algo, ByteArray &output) const override
 Compute a hash key on this data.
Public Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()
Public Member Functions inherited from Arcane::ISerializedData
virtual ~ISerializedData ()=default
 Frees resources.
 ARCANE_DEPRECATED_2018_R ("Use method 'writableBytes()' or 'constBytes()' instead") virtual ByteConstArrayView buffer() const =0
 Serialized values.
 ARCANE_DEPRECATED_2018_R ("Use method 'writableBytes()' or 'constBytes()' instead") virtual ByteArrayView buffer()=0
 Serialized values.

Detailed Description

Definition at line 47 of file SerializedData.cc.

Constructor & Destructor Documentation

◆ SerializedData() [1/2]

Arcane::SerializedData::SerializedData ( )

Definition at line 122 of file SerializedData.cc.

◆ SerializedData() [2/2]

Arcane::SerializedData::SerializedData ( eDataType base_data_type,
Int64 memory_size,
Integer nb_dimension,
Int64 nb_element,
Int64 nb_base_element,
bool is_multi_size,
Int64ConstArrayView extents,
const ArrayShape & shape )

Definition at line 137 of file SerializedData.cc.

Member Function Documentation

◆ allocateMemory()

void Arcane::SerializedData::allocateMemory ( Int64 size)
overridevirtual

Allocates an array to hold the serialized elements.

After calling this method, it is possible to retrieve a view of the serialized values via writableBytes() or constBytes().

Implements Arcane::ISerializedData.

Definition at line 227 of file SerializedData.cc.

◆ baseDataType()

eDataType Arcane::SerializedData::baseDataType ( ) const
inlineoverridevirtual

Data type.

Implements Arcane::ISerializedData.

Definition at line 62 of file SerializedData.cc.

◆ buffer() [1/2]

ByteConstArrayView Arcane::SerializedData::buffer ( ) const
inlineoverride

Definition at line 70 of file SerializedData.cc.

◆ buffer() [2/2]

ByteArrayView Arcane::SerializedData::buffer ( )
inlineoverride

Definition at line 71 of file SerializedData.cc.

◆ bytes() [1/2]

Span< const Byte > Arcane::SerializedData::bytes ( ) const
inlineoverridevirtual

Serialized values.

Implements Arcane::ISerializedData.

Definition at line 72 of file SerializedData.cc.

Referenced by setBytes(), and setBytes().

◆ bytes() [2/2]

Span< Byte > Arcane::SerializedData::bytes ( )
inlineoverridevirtual

Serialized values.

Warning
This method returns a non-empty view only if one has called setBytes(Span<Byte>) or allocateMemory().

Implements Arcane::ISerializedData.

Definition at line 74 of file SerializedData.cc.

◆ computeHash()

void Arcane::SerializedData::computeHash ( IHashAlgorithm * algo,
ByteArray & output ) const
overridevirtual

Compute a hash key on this data.

The key is added to output. The length of the key depends on the algorithm used.

Implements Arcane::ISerializedData.

Definition at line 239 of file SerializedData.cc.

References Arcane::IHashAlgorithm::computeHash64().

◆ constBytes()

Span< const Byte > Arcane::SerializedData::constBytes ( ) const
inlineoverridevirtual

Serialized values.

Implements Arcane::ISerializedData.

Definition at line 73 of file SerializedData.cc.

◆ extents()

Int64ConstArrayView Arcane::SerializedData::extents ( ) const
inlineoverridevirtual

Array containing the number of elements for each dimension.

Implements Arcane::ISerializedData.

Definition at line 67 of file SerializedData.cc.

◆ isMultiSize()

bool Arcane::SerializedData::isMultiSize ( ) const
inlineoverridevirtual

Indicates if it is a multi-size array. (only relevant if nbDimension()>1).

Implements Arcane::ISerializedData.

Definition at line 65 of file SerializedData.cc.

◆ memorySize()

Int64 Arcane::SerializedData::memorySize ( ) const
inlineoverridevirtual

Indicates the number of bytes that must be allocated to store or read the data.

Implements Arcane::ISerializedData.

Definition at line 66 of file SerializedData.cc.

◆ nbBaseElement()

Int64 Arcane::SerializedData::nbBaseElement ( ) const
inlineoverridevirtual

Number of base elements.

Implements Arcane::ISerializedData.

Definition at line 69 of file SerializedData.cc.

◆ nbDimension()

Integer Arcane::SerializedData::nbDimension ( ) const
inlineoverridevirtual

Dimension. 0 for a scalar, 1 for a 1D array, ...

Implements Arcane::ISerializedData.

Definition at line 63 of file SerializedData.cc.

◆ nbElement()

Int64 Arcane::SerializedData::nbElement ( ) const
inlineoverridevirtual

Number of elements.

Implements Arcane::ISerializedData.

Definition at line 64 of file SerializedData.cc.

◆ serialize() [1/2]

void Arcane::SerializedData::serialize ( ISerializer * sbuf) const
overridevirtual

Implements Arcane::ISerializedData.

Definition at line 258 of file SerializedData.cc.

◆ serialize() [2/2]

void Arcane::SerializedData::serialize ( ISerializer * buffer)
overridevirtual

◆ setBuffer() [1/2]

void Arcane::SerializedData::setBuffer ( ByteArrayView buffer)
overridevirtual

Positions the serialized values.

The array buffer must not be modified as long as this instance is used.

Deprecated
Use setBytes() instead.

Implements Arcane::ISerializedData.

Definition at line 185 of file SerializedData.cc.

References setBytes().

◆ setBuffer() [2/2]

void Arcane::SerializedData::setBuffer ( ByteConstArrayView buffer)
overridevirtual

Positions the serialized values.

The array buffer must not be modified as long as this instance is used.

Deprecated
Use setBytes() instead.

Implements Arcane::ISerializedData.

Definition at line 194 of file SerializedData.cc.

References setBytes().

◆ setBytes() [1/2]

void Arcane::SerializedData::setBytes ( Span< Byte > bytes)
inlineoverridevirtual

Positions the serialized values.

The array bytes must not be modified as long as this instance is used.

Implements Arcane::ISerializedData.

Definition at line 77 of file SerializedData.cc.

References bytes(), and setWritableBytes().

Referenced by setBuffer(), and setBuffer().

◆ setBytes() [2/2]

void Arcane::SerializedData::setBytes ( Span< const Byte > bytes)
inlineoverridevirtual

Positions the serialized values.

The array bytes must not be modified as long as this instance is used.

Implements Arcane::ISerializedData.

Definition at line 78 of file SerializedData.cc.

References bytes(), and setConstBytes().

◆ setConstBytes()

void Arcane::SerializedData::setConstBytes ( Span< const Byte > bytes)
overridevirtual

Positions the serialized values for reading.

The view bytes must remain valid as long as this instance is used.

Implements Arcane::ISerializedData.

Definition at line 215 of file SerializedData.cc.

Referenced by setBytes().

◆ setWritableBytes()

void Arcane::SerializedData::setWritableBytes ( Span< Byte > bytes)
overridevirtual

Positions the serialized values.

The view bytes must remain valid as long as this instance is used.

Implements Arcane::ISerializedData.

Definition at line 203 of file SerializedData.cc.

Referenced by setBytes().

◆ shape()

ArrayShape Arcane::SerializedData::shape ( ) const
inlineoverridevirtual

Shape of the array associated with the data.

Implements Arcane::ISerializedData.

Definition at line 68 of file SerializedData.cc.

◆ writableBytes()

Span< Byte > Arcane::SerializedData::writableBytes ( )
inlineoverridevirtual

View of the serialized values.

Warning
This method returns a non-empty view only if one has called allocateMemory() or setWritableBytes(Span<Byte>) beforehand.

Implements Arcane::ISerializedData.

Definition at line 79 of file SerializedData.cc.


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