Interface for serialized data. More...
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 Byte > | bytes () const override |
| Serialized values. | |
| Span< const Byte > | constBytes () const override |
| Serialized values. | |
| Span< Byte > | bytes () 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< Byte > | writableBytes () 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. | |
Private Member Functions | |
| ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS () | |
| void | _serialize (ISerializer *sbuf) const |
| void | _serializeRead (ISerializer *sbuf) |
| void | _copyExtentsToDimensions () |
Private Attributes | |
| eDataType | m_base_data_type |
| Int64 | m_memory_size |
| Integer | m_nb_dimension |
| Int64 | m_nb_element |
| Int64 | m_nb_base_element |
| bool | m_is_multi_size |
| UniqueArray< Int32 > | m_dimensions |
| UniqueArray< Int64 > | m_extents |
| Int64 | m_element_size |
| Span< Byte > | m_buffer |
| Span< const Byte > | m_const_buffer |
| UniqueArray< Byte > | m_stored_buffer |
| ArrayShape | m_shape |
Interface for serialized data.
Definition at line 47 of file SerializedData.cc.
| Arcane::SerializedData::SerializedData | ( | ) |
Definition at line 122 of file SerializedData.cc.
| 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.
|
private |
Definition at line 168 of file SerializedData.cc.
|
private |
Definition at line 342 of file SerializedData.cc.
References ARCANE_FATAL, ARCANE_THROW, Arcane::Byte, Arcane::Int32, Arcane::Int64, Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ISerializer::putInt32(), Arcane::ISerializer::putInt64(), Arcane::ISerializer::putInteger(), Arcane::ISerializer::putSpan(), Arcane::ISerializer::reserveInt32(), Arcane::ISerializer::reserveInt64(), and Arcane::ISerializer::reserveSpan().
Referenced by serialize(), and serialize().
|
private |
Definition at line 295 of file SerializedData.cc.
|
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.
|
inlineoverridevirtual |
|
inlineoverride |
Definition at line 70 of file SerializedData.cc.
|
inlineoverride |
Definition at line 71 of file SerializedData.cc.
Serialized values.
Implements Arcane::ISerializedData.
Definition at line 72 of file SerializedData.cc.
Referenced by setBytes(), and setBytes().
Serialized values.
Implements Arcane::ISerializedData.
Definition at line 74 of file SerializedData.cc.
|
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().
Serialized values.
Implements Arcane::ISerializedData.
Definition at line 73 of file SerializedData.cc.
|
inlineoverridevirtual |
Array containing the number of elements for each dimension.
Implements Arcane::ISerializedData.
Definition at line 67 of file SerializedData.cc.
|
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.
|
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.
|
inlineoverridevirtual |
Number of base elements.
Implements Arcane::ISerializedData.
Definition at line 69 of file SerializedData.cc.
|
inlineoverridevirtual |
Dimension. 0 for a scalar, 1 for a 1D array, ...
Implements Arcane::ISerializedData.
Definition at line 63 of file SerializedData.cc.
|
inlineoverridevirtual |
Number of elements.
Implements Arcane::ISerializedData.
Definition at line 64 of file SerializedData.cc.
|
overridevirtual |
Implements Arcane::ISerializedData.
Definition at line 258 of file SerializedData.cc.
References _serialize().
|
overridevirtual |
Serialize the data for reading or writing.
Implements Arcane::ISerializedData.
Definition at line 267 of file SerializedData.cc.
References _serialize(), ARCANE_THROW, Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ISerializer::ReadAdd, Arcane::ISerializer::readMode(), and Arcane::ISerializer::ReadReplace.
|
overridevirtual |
Positions the serialized values.
The array buffer must not be modified as long as this instance is used.
Implements Arcane::ISerializedData.
Definition at line 185 of file SerializedData.cc.
References setBytes().
|
overridevirtual |
Positions the serialized values.
The array buffer must not be modified as long as this instance is used.
Implements Arcane::ISerializedData.
Definition at line 194 of file SerializedData.cc.
References setBytes().
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().
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().
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().
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().
|
inlineoverridevirtual |
Shape of the array associated with the data.
Implements Arcane::ISerializedData.
Definition at line 68 of file SerializedData.cc.
View of the serialized values.
Implements Arcane::ISerializedData.
Definition at line 79 of file SerializedData.cc.
|
private |
Definition at line 95 of file SerializedData.cc.
Definition at line 107 of file SerializedData.cc.
Definition at line 108 of file SerializedData.cc.
|
private |
Definition at line 104 of file SerializedData.cc.
|
private |
Definition at line 106 of file SerializedData.cc.
|
private |
Definition at line 105 of file SerializedData.cc.
|
private |
Definition at line 100 of file SerializedData.cc.
|
private |
Definition at line 96 of file SerializedData.cc.
|
private |
Definition at line 99 of file SerializedData.cc.
|
private |
Definition at line 97 of file SerializedData.cc.
|
private |
Definition at line 98 of file SerializedData.cc.
|
private |
Definition at line 110 of file SerializedData.cc.
|
private |
Definition at line 109 of file SerializedData.cc.