PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Friends | List of all members
epics::pvData::PVDataCreate Class Reference

This is a singleton class for creating data instances. More...

#include <pv/pvData.h>

Public Member Functions

PVFieldPtr createPVField (FieldConstPtr const &field)
 
PVFieldPtr createPVField (PVFieldPtr const &fieldToClone)
 
PVScalarPtr createPVScalar (ScalarConstPtr const &scalar)
 
PVScalarPtr createPVScalar (ScalarType scalarType)
 
PVScalarPtr createPVScalar (PVScalarPtr const &scalarToClone)
 
template<typename PVT >
std::tr1::shared_ptr< PVT > createPVScalar ()
 
PVStructurePtr createPVStructure (StructureConstPtr const &structure)
 
PVStructurePtr createPVStructure (StringArray const &fieldNames, PVFieldPtrArray const &pvFields)
 
PVStructurePtr createPVStructure (PVStructurePtr const &structToClone)
 
PVUnionPtr createPVUnion (UnionConstPtr const &punion)
 
PVUnionPtr createPVUnion (PVUnionPtr const &unionToClone)
 
PVUnionPtr createPVVariantUnion ()
 
PVScalarArrayPtr createPVScalarArray (ScalarArrayConstPtr const &scalarArray)
 
PVScalarArrayPtr createPVScalarArray (ScalarType elementType)
 
PVScalarArrayPtr createPVScalarArray (PVScalarArrayPtr const &scalarArrayToClone)
 
template<typename PVAT >
std::tr1::shared_ptr< PVAT > createPVScalarArray ()
 
PVStructureArrayPtr createPVStructureArray (StructureArrayConstPtr const &structureArray)
 
PVStructureArrayPtr createPVStructureArray (StructureConstPtr const &structure)
 
PVUnionArrayPtr createPVUnionArray (UnionArrayConstPtr const &unionArray)
 
PVUnionArrayPtr createPVUnionArray (UnionConstPtr const &punion)
 
PVUnionArrayPtr createPVVariantUnionArray ()
 

Static Public Member Functions

static const PVDataCreatePtr & getPVDataCreate ()
 

Friends

struct detail::pvfield_factory
 

Detailed Description

This is a singleton class for creating data instances.

Definition at line 1474 of file pvData.h.

Member Function Documentation

PVFieldPtr epics::pvData::PVDataCreate::createPVField ( FieldConstPtr const &  field)

Create a PVField using given Field introspection data.

Parameters
fieldThe introspection data to be used to create PVField.
Returns
The PVField implementation.
PVFieldPtr epics::pvData::PVDataCreate::createPVField ( PVFieldPtr const &  fieldToClone)

Create a PVField using given a PVField to clone. This method calls the appropriate createPVScalar, createPVArray, or createPVStructure.

Parameters
fieldToCloneThe field to clone.
Returns
The PVField implementation
PVScalarPtr epics::pvData::PVDataCreate::createPVScalar ( ScalarConstPtr const &  scalar)

Create an implementation of a scalar field reusing the Scalar introspection interface.

Parameters
scalarThe introspection interface.
Returns
The PVScalar implementation.
PVScalarPtr epics::pvData::PVDataCreate::createPVScalar ( ScalarType  scalarType)

Create an implementation of a scalar field. A Scalar introspection interface is created.

Parameters
scalarTypeThe scalar type.
Returns
The PVScalar implementation.
PVScalarPtr epics::pvData::PVDataCreate::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.

Parameters
scalarToCloneThe PVScalar to clone.
Returns
The PVScalar implementation.
template<typename PVT >
std::tr1::shared_ptr<PVT> epics::pvData::PVDataCreate::createPVScalar ( )
inline

template version

Template Parameters
PVTmust be a valid PVType
Returns
The PVScalar implementation.

Definition at line 1521 of file pvData.h.

PVScalarArrayPtr epics::pvData::PVDataCreate::createPVScalarArray ( ScalarArrayConstPtr const &  scalarArray)

Create an implementation of an array field reusing the Array introspection interface.

Parameters
scalarArrayThe introspection interface.
Returns
The PVScalarArray implementation.
PVScalarArrayPtr epics::pvData::PVDataCreate::createPVScalarArray ( ScalarType  elementType)

Create an implementation for an array field. An Array introspection interface is created.

Parameters
elementTypeThe element type.
Returns
The PVScalarArray implementation.
PVScalarArrayPtr epics::pvData::PVDataCreate::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
scalarArrayToCloneThe PVScalarArray to clone.
Returns
The PVScalarArray implementation.
template<typename PVAT >
std::tr1::shared_ptr<PVAT> epics::pvData::PVDataCreate::createPVScalarArray ( )
inline

template version

Template Parameters
PVTmust be a valid pvType
Returns
The PVScalarArray implementation.

Definition at line 1590 of file pvData.h.

PVStructurePtr epics::pvData::PVDataCreate::createPVStructure ( StructureConstPtr const &  structure)

Create implementation for PVStructure.

Parameters
structureThe introspection interface.
Returns
The PVStructure implementation
PVStructurePtr epics::pvData::PVDataCreate::createPVStructure ( StringArray const &  fieldNames,
PVFieldPtrArray const &  pvFields 
)

Create implementation for PVStructure.

Parameters
fieldNamesThe field names.
pvFieldsArray of PVFields
Returns
The PVStructure implementation
PVStructurePtr epics::pvData::PVDataCreate::createPVStructure ( PVStructurePtr const &  structToClone)

Create implementation for PVStructure.

Parameters
structToCloneA structure. Each subfield and any auxInfo is cloned and added to the newly created structure.
Returns
The PVStructure implementation.
PVStructureArrayPtr epics::pvData::PVDataCreate::createPVStructureArray ( StructureArrayConstPtr const &  structureArray)

Create an implementation of an array with structure elements.

Parameters
structureArrayThe introspection interface. All elements share the same introspection interface.
Returns
The PVStructureArray implementation.
PVStructureArrayPtr epics::pvData::PVDataCreate::createPVStructureArray ( StructureConstPtr const &  structure)
inline

Create an implementation of an array with structure elements.

Parameters
structureThe introspection interface that is used to create StructureArrayConstPtr. All elements share the same introspection interface.
Returns
The PVStructureArray implementation.

Definition at line 1608 of file pvData.h.

PVUnionPtr epics::pvData::PVDataCreate::createPVUnion ( UnionConstPtr const &  punion)

Create implementation for PVUnion.

Parameters
punionThe introspection interface.
Returns
The PVUnion implementation
PVUnionPtr epics::pvData::PVDataCreate::createPVUnion ( PVUnionPtr const &  unionToClone)

Create implementation for PVUnion.

Parameters
unionToCloneA union. Each subfield is cloned and added to the newly created union.
Returns
The PVUnion implementation.
PVUnionArrayPtr epics::pvData::PVDataCreate::createPVUnionArray ( UnionArrayConstPtr const &  unionArray)

Create an implementation of an array with union elements.

Parameters
unionArrayThe introspection interface. All elements share the same introspection interface.
Returns
The PVUnionArray implementation.
PVUnionArrayPtr epics::pvData::PVDataCreate::createPVUnionArray ( UnionConstPtr const &  punion)
inline

Create an implementation of an array with union elements.

Parameters
punionThe introspection interface that is used to create UnionArrayConstPtr. All elements share the same introspection interface.
Returns
The PVUnionArray implementation.

Definition at line 1626 of file pvData.h.

PVUnionPtr epics::pvData::PVDataCreate::createPVVariantUnion ( )

Create variant union implementation.

Returns
The variant PVUnion implementation.
PVUnionArrayPtr epics::pvData::PVDataCreate::createPVVariantUnionArray ( )

Create variant union array implementation.

Returns
The variant PVUnionArray implementation.
static const PVDataCreatePtr& epics::pvData::PVDataCreate::getPVDataCreate ( )
static

get the singleton

Returns
The PVDataCreate implementation

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