Interface of a serialized data. More...
#include <arcane/core/ISerializedData.h>
Public Member Functions | |
| virtual | ~ISerializedData ()=default |
| Frees resources. | |
| virtual eDataType | baseDataType () const =0 |
| Data type. | |
| virtual Integer | nbDimension () const =0 |
| Dimension. 0 for a scalar, 1 for a 1D array, ... | |
| virtual Int64 | nbElement () const =0 |
| Number of elements. | |
| virtual Int64 | nbBaseElement () const =0 |
| Number of base elements. | |
| virtual bool | isMultiSize () const =0 |
| Indicates if it is a multi-size array. (only relevant if nbDimension()>1). | |
| virtual Int64 | memorySize () const =0 |
| Indicates the number of bytes that must be allocated to store or read the data. | |
| virtual Int64ConstArrayView | extents () const =0 |
| Array containing the number of elements for each dimension. | |
| virtual ArrayShape | shape () const =0 |
| Shape of the array associated with the data. | |
| virtual Span< const Byte > | constBytes () const =0 |
| Serialized values. | |
| virtual Span< Byte > | writableBytes ()=0 |
| View of the serialized values. | |
| virtual void | setWritableBytes (Span< Byte > bytes)=0 |
| Positions the serialized values. | |
| virtual void | setConstBytes (Span< const Byte > bytes)=0 |
| Positions the serialized values for reading. | |
| virtual void | allocateMemory (Int64 size)=0 |
| Allocates an array to hold the serialized elements. | |
| virtual void | serialize (ISerializer *buffer)=0 |
| Serialize the data for reading or writing. | |
| virtual void | serialize (ISerializer *buffer) const =0 |
| Serialize the data for reading. | |
| virtual void | computeHash (IHashAlgorithm *algo, ByteArray &output) const =0 |
| Compute a hash key on this data. | |
| 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. | |
| virtual Span< const Byte > | bytes () const =0 |
| Serialized values. | |
| virtual void | setBuffer (ByteArrayView buffer)=0 |
| Positions the serialized values. | |
| virtual void | setBuffer (ByteConstArrayView buffer)=0 |
| Positions the serialized values. | |
| virtual void | setBytes (Span< Byte > bytes)=0 |
| Positions the serialized values. | |
| virtual void | setBytes (Span< const Byte > bytes)=0 |
| Positions the serialized values. | |
| virtual Span< Byte > | bytes ()=0 |
| Serialized values. | |
Private Member Functions | |
| ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS () | |
Interface of a serialized data.
A data (IData) is serialized into an instance of this class.
Regardless of the data type, the serialized type must be a base type among the following: DT_Byte, DT_Int16, DT_Int32, DT_Int64, DT_Real.
An instance of this class is only valid as long as the reference data is not modified.
To serialize a data data for writing:
To serialize a data data for reading:
Definition at line 62 of file ISerializedData.h.
|
pure virtual |
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().
Implemented in Arcane::SerializedData.
Referenced by Arcane::StringArrayData::allocateBufferForSerializedData(), and Arcane::StringScalarData::allocateBufferForSerializedData().
|
pure virtual |
Serialized values.
References ARCANE_DEPRECATED_2018_R().
|
pure virtual |
Serialized values.
Referenced by ARCANE_DEPRECATED_2018_R().
|
pure virtual |
Data type.
Implemented in Arcane::SerializedData.
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), Arcane::ScalarDataT< DataType >::allocateBufferForSerializedData(), Arcane::StringArrayData::allocateBufferForSerializedData(), Arcane::StringScalarData::allocateBufferForSerializedData(), Arcane::StringArrayData::assignSerializedData(), Arcane::StringScalarData::assignSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
Serialized values.
Implemented in Arcane::SerializedData.
References bytes().
Referenced by bytes(), bytes(), setBytes(), setBytes(), setConstBytes(), and setWritableBytes().
Serialized values.
Implemented in Arcane::SerializedData.
References Arcane::arcaneCreateEmptySerializedDataRef(), Arcane::arcaneCreateSerializedDataRef(), bytes(), and shape().
|
pure virtual |
Compute a hash key on this data.
The key is added to output. The length of the key depends on the algorithm used.
Implemented in Arcane::SerializedData.
Serialized values.
Implemented in Arcane::SerializedData.
Referenced by Arcane::StringArrayData::assignSerializedData(), Arcane::StringScalarData::assignSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Array containing the number of elements for each dimension.
Implemented in Arcane::SerializedData.
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), Arcane::StringArrayData::assignSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Indicates if it is a multi-size array. (only relevant if nbDimension()>1).
Implemented in Arcane::SerializedData.
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Indicates the number of bytes that must be allocated to store or read the data.
Implemented in Arcane::SerializedData.
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), Arcane::ScalarDataT< DataType >::allocateBufferForSerializedData(), Arcane::StringArrayData::allocateBufferForSerializedData(), Arcane::StringScalarData::allocateBufferForSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Number of base elements.
Implemented in Arcane::SerializedData.
Referenced by Arcane::StringScalarData::assignSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Dimension. 0 for a scalar, 1 for a 1D array, ...
Implemented in Arcane::SerializedData.
Referenced by Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Number of elements.
Implemented in Arcane::SerializedData.
Referenced by Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), and Arcane::impl::BasicGenericWriter::writeData().
|
pure virtual |
Serialize the data for reading.
Implemented in Arcane::SerializedData.
|
pure virtual |
Serialize the data for reading or writing.
Implemented in Arcane::SerializedData.
Referenced by Arcane::Hdf5ReaderWriter::_writeValParallel().
|
pure virtual |
Positions the serialized values.
The array buffer must not be modified as long as this instance is used.
Implemented in Arcane::SerializedData.
References setBuffer().
Referenced by setBuffer(), and setBuffer().
|
pure virtual |
Positions the serialized values.
The array buffer must not be modified as long as this instance is used.
Implemented in Arcane::SerializedData.
References setBuffer().
Positions the serialized values.
The array bytes must not be modified as long as this instance is used.
Implemented in Arcane::SerializedData.
References bytes(), and setBytes().
Referenced by setBytes(), and setBytes().
Positions the serialized values.
The array bytes must not be modified as long as this instance is used.
Implemented in Arcane::SerializedData.
References bytes(), and setBytes().
Positions the serialized values for reading.
The view bytes must remain valid as long as this instance is used.
Implemented in Arcane::SerializedData.
References bytes().
Positions the serialized values.
The view bytes must remain valid as long as this instance is used.
Implemented in Arcane::SerializedData.
References bytes().
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), Arcane::NumArrayDataT< DataType, RankValue >::allocateBufferForSerializedData(), and Arcane::ScalarDataT< DataType >::allocateBufferForSerializedData().
|
pure virtual |
Shape of the array associated with the data.
Implemented in Arcane::SerializedData.
Referenced by Arcane::Array2DataT< DataType >::allocateBufferForSerializedData(), Arcane::ArrayDataT< DataType >::allocateBufferForSerializedData(), and bytes().
View of the serialized values.
Implemented in Arcane::SerializedData.