Class PVDataCreate¶
Defined in File pvData.h
Class Documentation¶
-
class PVDataCreate¶
This is a singleton class for creating data instances.
Public Functions
-
PVFieldPtr createPVField(FieldConstPtr const &field)¶
-
PVFieldPtr createPVField(PVFieldPtr const &fieldToClone)¶
Create a PVField using given a PVField to clone. This method calls the appropriate createPVScalar, createPVArray, or createPVStructure.
- Parameters
fieldToClone – The field to clone.
- Returns
The PVField implementation
-
PVScalarPtr createPVScalar(ScalarConstPtr const &scalar)¶
Create an implementation of a scalar field reusing the Scalar introspection interface.
- Parameters
scalar – The introspection interface.
- Returns
The PVScalar implementation.
-
PVScalarPtr createPVScalar(ScalarType scalarType)¶
Create an implementation of a scalar field. A Scalar introspection interface is created.
- Parameters
scalarType – The scalar type.
- Returns
The PVScalar implementation.
-
PVScalarPtr createPVScalar(PVScalarPtr const &scalarToClone)¶
Create an implementation of a scalar field by cloning an existing PVScalar. The new PVScalar will have the same value and auxInfo as the original.
template version
- Template Parameters
PVT – must be a valid PVType
- Returns
The PVScalar implementation.
-
PVStructurePtr createPVStructure(StructureConstPtr const &structure)¶
Create implementation for PVStructure.
- Parameters
structure – The introspection interface.
- Returns
The PVStructure implementation
-
PVStructurePtr createPVStructure(StringArray const &fieldNames, PVFieldPtrArray const &pvFields)¶
Create implementation for PVStructure.
- Parameters
fieldNames – The field names.
pvFields – Array of PVFields
- Returns
The PVStructure implementation
-
PVStructurePtr createPVStructure(PVStructurePtr const &structToClone)¶
Create implementation for PVStructure.
- Parameters
structToClone – A structure. Each subfield and any auxInfo is cloned and added to the newly created structure.
- Returns
The PVStructure implementation.
-
PVUnionPtr createPVUnion(UnionConstPtr const &punion)¶
Create implementation for PVUnion.
- Parameters
punion – The introspection interface.
- Returns
The PVUnion implementation
-
PVUnionPtr createPVUnion(PVUnionPtr const &unionToClone)¶
Create implementation for PVUnion.
- Parameters
unionToClone – A union. Each subfield is cloned and added to the newly created union.
- Returns
The PVUnion implementation.
-
PVUnionPtr createPVVariantUnion()¶
Create variant union implementation.
- Returns
The variant PVUnion implementation.
-
PVScalarArrayPtr createPVScalarArray(ScalarArrayConstPtr const &scalarArray)¶
Create an implementation of an array field reusing the Array introspection interface.
- Parameters
scalarArray – The introspection interface.
- Returns
The PVScalarArray implementation.
-
PVScalarArrayPtr createPVScalarArray(ScalarType elementType)¶
Create an implementation for an array field. An Array introspection interface is created.
- Parameters
elementType – The element type.
- Returns
The PVScalarArray implementation.
-
PVScalarArrayPtr createPVScalarArray(PVScalarArrayPtr const &scalarArrayToClone)¶
Create an implementation of an array field by cloning an existing PVArray. The new PVArray will have the same value and auxInfo as the original.
- Parameters
scalarArrayToClone – The PVScalarArray to clone.
- Returns
The PVScalarArray implementation.
template version
- Template Parameters
PVT – must be a valid pvType
- Returns
The PVScalarArray implementation.
-
PVStructureArrayPtr createPVStructureArray(StructureArrayConstPtr const &structureArray)¶
Create an implementation of an array with structure elements.
- Parameters
structureArray – The introspection interface. All elements share the same introspection interface.
- Returns
The PVStructureArray implementation.
-
inline PVStructureArrayPtr createPVStructureArray(StructureConstPtr const &structure)¶
Create an implementation of an array with structure elements.
- Parameters
structure – The introspection interface that is used to create StructureArrayConstPtr. All elements share the same introspection interface.
- Returns
The PVStructureArray implementation.
-
PVUnionArrayPtr createPVUnionArray(UnionArrayConstPtr const &unionArray)¶
Create an implementation of an array with union elements.
- Parameters
unionArray – The introspection interface. All elements share the same introspection interface.
- Returns
The PVUnionArray implementation.
-
inline PVUnionArrayPtr createPVUnionArray(UnionConstPtr const &punion)¶
Create an implementation of an array with union elements.
- Parameters
punion – The introspection interface that is used to create UnionArrayConstPtr. All elements share the same introspection interface.
- Returns
The PVUnionArray implementation.
-
PVUnionArrayPtr createPVVariantUnionArray()¶
Create variant union array implementation.
- Returns
The variant PVUnionArray implementation.
Public Static Functions
-
static const PVDataCreatePtr &getPVDataCreate()¶
get the singleton
- Returns
The PVDataCreate implementation
Friends
- friend struct detail::pvfield_factory
-
PVFieldPtr createPVField(FieldConstPtr const &field)¶