Scalar data of a unicode string. More...
Classes | |
| class | Internal |
Public Types | |
| typedef String | DataType |
| typedef StringScalarData | ThatClass |
| typedef IScalarDataT< String > | DataInterfaceType |
| Public Types inherited from Arcane::IScalarDataT< String > | |
| typedef IScalarDataT< String > | ThatClass |
Public Member Functions | |
| StringScalarData (ITraceMng *trace) | |
| StringScalarData (const DataStorageBuildInfo &dsbi) | |
| StringScalarData (const StringScalarData &rhs) | |
| Integer | dimension () const override |
| Dimension. 0 for a scalar, 1 for a mono-dim array, 2 for a bi-dim array. | |
| Integer | multiTag () const override |
| Multi-tag. 0 if not multiple, 1 if multiple, 2 if multiple for MultiArray variables (obsolete). | |
| eDataType | dataType () const override |
| Data type. | |
| void | serialize (ISerializer *sbuf, IDataOperation *operation) override |
| Serializes the data by applying the operation. | |
| void | serialize (ISerializer *sbuf, Int32ConstArrayView ids, IDataOperation *operation) override |
| Serialize the data for the indices ids. | |
| DataType & | value () override |
| Data value. | |
| const DataType & | value () const override |
| Data value. | |
| void | resize (Integer) override |
| Resize the data. | |
| IData * | clone () override |
| Clone the data. The created instance must be destroyed by the 'delete' operator. | |
| IData * | cloneEmpty () override |
| Clone the data but without elements. The created instance must be destroyed by the 'delete' operator. | |
| Ref< IData > | cloneRef () override |
| Clone the data. | |
| Ref< IData > | cloneEmptyRef () override |
| Clone the data but without elements. | |
| DataStorageTypeInfo | storageTypeInfo () const override |
| Information about the data container type. | |
| StringScalarData * | cloneTrue () override |
| Clone the data. | |
| StringScalarData * | cloneTrueEmpty () override |
| Clone the data but without elements. | |
| Ref< DataInterfaceType > | cloneTrueRef () override |
| Clone the data. | |
| Ref< DataInterfaceType > | cloneTrueEmptyRef () override |
| Clone the data but without elements. | |
| void | fillDefault () override |
| Fills the data with its default value. | |
| void | setName (const String &name) override |
| Sets the name of the data (internal). | |
| Ref< ISerializedData > | createSerializedDataRef (bool use_basic_type) const override |
| Serialize the data. | |
| void | allocateBufferForSerializedData (ISerializedData *sdata) override |
| Allocate memory to read the serialized values sdata. | |
| void | assignSerializedData (const ISerializedData *sdata) override |
| Assign the serialized values sdata to the data. | |
| void | copy (const IData *data) override |
| Copy the data data into the current instance. | |
| void | swapValues (IData *data) override |
| Swap the values of data with those of the instance. | |
| void | computeHash (IHashAlgorithm *algo, ByteArray &output) const override |
| Compute a hash key on this data. | |
| void | computeHash (DataHashInfo &hash_info) const |
| ArrayShape | shape () const override |
| Array shape for a 1D or 2D data item. | |
| void | setShape (const ArrayShape &) override |
| Sets the array shape. | |
| void | setAllocationInfo (const DataAllocationInfo &v) override |
| Sets the allocation information. | |
| DataAllocationInfo | allocationInfo () const override |
| Allocation information. | |
| void | visit (IScalarDataVisitor *visitor) override |
| Applies the visitor to the data. | |
| void | visit (IDataVisitor *visitor) override |
| Applies the visitor to the data. | |
| void | visitScalar (IScalarDataVisitor *visitor) override |
| Apply the visitor to the data. | |
| void | visitArray (IArrayDataVisitor *visitor) override |
| Apply the visitor to the data. | |
| void | visitArray2 (IArray2DataVisitor *visitor) override |
| Apply the visitor to the data. | |
| IDataInternal * | _commonInternal () override |
| Public Member Functions inherited from Arcane::ReferenceCounterImpl | |
| void | addReference () |
| void | removeReference () |
| void | _internalAddReference () |
| bool | _internalRemoveReference () |
| Public Member Functions inherited from Arcane::IData | |
| virtual void | visitMultiArray2 (IMultiArray2DataVisitor *visitor) |
| Apply the visitor to the data. | |
Static Public Member Functions | |
| static DataStorageTypeInfo | staticStorageTypeInfo () |
Private Member Functions | |
| ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS () | |
Private Attributes | |
| DataType | m_value |
| Data. | |
| ITraceMng * | m_trace |
| Internal | m_internal |
| DataAllocationInfo | m_allocation_info |
Scalar data of a unicode string.
Definition at line 49 of file StringScalarData.cc.
| typedef IScalarDataT<String> Arcane::StringScalarData::DataInterfaceType |
Definition at line 59 of file StringScalarData.cc.
| typedef String Arcane::StringScalarData::DataType |
Definition at line 57 of file StringScalarData.cc.
| typedef StringScalarData Arcane::StringScalarData::ThatClass |
Definition at line 58 of file StringScalarData.cc.
|
inlineexplicit |
Definition at line 86 of file StringScalarData.cc.
|
explicit |
Definition at line 169 of file StringScalarData.cc.
|
inline |
Definition at line 91 of file StringScalarData.cc.
|
inlineoverridevirtual |
Implements Arcane::IData.
Definition at line 152 of file StringScalarData.cc.
|
overridevirtual |
Allocate memory to read the serialized values sdata.
This method sets sdata->setBuffer(), which will contain the memory needed to read the serialized data.
Implements Arcane::IData.
Definition at line 223 of file StringScalarData.cc.
References Arcane::ISerializedData::allocateMemory(), Arcane::ISerializedData::baseDataType(), Arcane::DT_Byte, and Arcane::ISerializedData::memorySize().
|
inlineoverridevirtual |
Allocation information.
Implements Arcane::IData.
Definition at line 140 of file StringScalarData.cc.
|
overridevirtual |
Assign the serialized values sdata to the data.
The buffer containing the serialization values must have be allocated by calling allocateBufferForSerializedData().
Implements Arcane::IData.
Definition at line 235 of file StringScalarData.cc.
References Arcane::ISerializedData::baseDataType(), Arcane::ISerializedData::constBytes(), Arcane::DT_Byte, m_value, and Arcane::ISerializedData::nbBaseElement().
|
inlineoverridevirtual |
Clone the data. The created instance must be destroyed by the 'delete' operator.
Implements Arcane::IData.
Definition at line 108 of file StringScalarData.cc.
References cloneTrue().
|
inlineoverridevirtual |
Clone the data but without elements. The created instance must be destroyed by the 'delete' operator.
Implements Arcane::IData.
Definition at line 109 of file StringScalarData.cc.
References cloneTrueEmpty().
Clone the data but without elements.
Implements Arcane::IData.
Definition at line 111 of file StringScalarData.cc.
References cloneTrueEmpty(), and Arcane::makeRef().
Clone the data.
Implements Arcane::IData.
Definition at line 110 of file StringScalarData.cc.
References cloneTrue(), and Arcane::makeRef().
|
inlineoverridevirtual |
Clone the data.
Implements Arcane::IScalarDataT< String >.
Definition at line 113 of file StringScalarData.cc.
Referenced by clone(), and cloneRef().
|
inlineoverridevirtual |
Clone the data but without elements.
Implements Arcane::IScalarDataT< String >.
Definition at line 114 of file StringScalarData.cc.
Referenced by cloneEmpty(), and cloneEmptyRef().
|
inlineoverridevirtual |
Clone the data but without elements.
Implements Arcane::IScalarDataT< String >.
Definition at line 120 of file StringScalarData.cc.
References Arcane::makeRef().
|
inlineoverridevirtual |
Clone the data.
Implements Arcane::IScalarDataT< String >.
Definition at line 115 of file StringScalarData.cc.
References Arcane::makeRef().
| void Arcane::StringScalarData::computeHash | ( | DataHashInfo & | hash_info | ) | const |
Definition at line 314 of file StringScalarData.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::IData.
Definition at line 304 of file StringScalarData.cc.
References Arcane::IHashAlgorithm::computeHash64(), and m_value.
|
overridevirtual |
Copy the data data into the current instance.
The data data must be of the same type as the instance.
Implements Arcane::IData.
Definition at line 324 of file StringScalarData.cc.
References m_value, and Arcane::IScalarDataT< DataType >::value().
|
overridevirtual |
Serialize the data.
For performance reasons, the returned instance may directly reference the memory area of this data. Consequently, it is only valid as long as this data is not modified. If you wish to modify this instance, you must first clone it (via IData::cloneRef()) and then serialize the cloned data.
If use_basic_type is true, the data is serialized for a basic type, namely DT_Byte, DT_Int16, DT_Int32, DT_Int64 or DT_Real. Otherwise, the type can be a POD, namely DT_Byte, DT_Int16, DT_Int32, DT_Int64, DT_Real, DT_Real2, DT_Real3, DT_Real2x2, DT_Real3x3.
Implements Arcane::IData.
Definition at line 201 of file StringScalarData.cc.
References Arcane::Array< T >::add(), Arcane::arcaneCreateSerializedDataRef(), Arcane::DT_Byte, m_value, Arcane::ConstArrayView< T >::size(), and Arcane::SpanImpl< T, SizeType, Extent >::size().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Dimension. 0 for a scalar, 1 for a mono-dim array, 2 for a bi-dim array.
Implements Arcane::IData.
Definition at line 100 of file StringScalarData.cc.
|
inlineoverridevirtual |
Fills the data with its default value.
Implements Arcane::IData.
Definition at line 125 of file StringScalarData.cc.
References m_value.
|
inlineoverridevirtual |
Multi-tag. 0 if not multiple, 1 if multiple, 2 if multiple for MultiArray variables (obsolete).
Implements Arcane::IData.
Definition at line 101 of file StringScalarData.cc.
|
inlineoverridevirtual |
Resize the data.
This operation only makes sense for data of dimension 1 or more. If the new number of elements is greater than the old one, the values added to the data are not initialized.
Implements Arcane::IData.
Definition at line 107 of file StringScalarData.cc.
|
overridevirtual |
Serializes the data by applying the operation.
Implements Arcane::IData.
Definition at line 255 of file StringScalarData.cc.
References Arcane::ISerializer::get(), m_value, Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ISerializer::put(), Arcane::ISerializer::ReadAdd, Arcane::ISerializer::readMode(), Arcane::ISerializer::ReadReplace, and Arcane::ISerializer::reserve().
|
overridevirtual |
Serialize the data for the indices ids.
This operation only makes sense for data of dimension 1 or more.
Implements Arcane::IData.
Definition at line 283 of file StringScalarData.cc.
|
inlineoverridevirtual |
Sets the allocation information.
Implements Arcane::IData.
Definition at line 139 of file StringScalarData.cc.
|
overridevirtual |
Sets the name of the data (internal).
Implements Arcane::IData.
Definition at line 295 of file StringScalarData.cc.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Array shape for a 1D or 2D data item.
The shape is only considered for dimensions greater than 1. For a 1D data item, the shape is therefore by default {1}. For a 2D array, the shape defaults to {dim2_size}. It is possible to change the rank of the shape and its values as long as shape().totalNbElement()==dim2_size. For example, if the number of values dim2_size is 12, then it is possible to have { 12 }, { 6, 2 } or { 3, 2, 2 } as the shape.
The values are not preserved during a restart, so the shape must be repositioned in this case. It is up to the user to ensure that the shape is homogeneous across sub-domains.
Implements Arcane::IData.
Definition at line 137 of file StringScalarData.cc.
|
static |
Definition at line 179 of file StringScalarData.cc.
|
overridevirtual |
Information about the data container type.
Implements Arcane::IData.
Definition at line 192 of file StringScalarData.cc.
|
overridevirtual |
Swap the values of data with those of the instance.
The data IData must be of the same type as the instance. Only the values are swapped and other possible properties (such as the name, for example) are not modified.
Implements Arcane::IData.
Definition at line 336 of file StringScalarData.cc.
References m_value, and Arcane::IScalarDataT< DataType >::value().
|
inlineoverridevirtual |
Data value.
Implements Arcane::IScalarDataT< String >.
Definition at line 106 of file StringScalarData.cc.
References m_value.
|
inlineoverridevirtual |
Data value.
Implements Arcane::IScalarDataT< String >.
Definition at line 105 of file StringScalarData.cc.
References m_value.
|
inlineoverridevirtual |
Applies the visitor to the data.
Implements Arcane::IScalarData.
Definition at line 145 of file StringScalarData.cc.
|
inlineoverridevirtual |
Applies the visitor to the data.
Implements Arcane::IScalarData.
Definition at line 141 of file StringScalarData.cc.
|
overridevirtual |
Apply the visitor to the data.
If the data is not a 1D array, an exception NotSupportedException is thrown.
Implements Arcane::IData.
Definition at line 357 of file StringScalarData.cc.
|
overridevirtual |
Apply the visitor to the data.
If the data is not a 2D array, an exception NotSupportedException is thrown.
Implements Arcane::IData.
Definition at line 366 of file StringScalarData.cc.
|
overridevirtual |
Apply the visitor to the data.
If the data is not scalar, a NotSupportedException is thrown.
Implements Arcane::IData.
Definition at line 348 of file StringScalarData.cc.
|
private |
Definition at line 163 of file StringScalarData.cc.
|
private |
Definition at line 162 of file StringScalarData.cc.
|
private |
Definition at line 161 of file StringScalarData.cc.
|
private |
Data.
Definition at line 160 of file StringScalarData.cc.
Referenced by assignSerializedData(), computeHash(), copy(), createSerializedDataRef(), fillDefault(), serialize(), swapValues(), value(), and value().