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::FieldCreate Class Reference

This is a singleton class for creating introspection interfaces. More...

#include <pv/pvIntrospect.h>

Public Member Functions

FieldBuilderPtr createFieldBuilder () const
 
FieldBuilderPtr createFieldBuilder (StructureConstPtr S) const
 
ScalarConstPtr createScalar (ScalarType scalarType) const
 
BoundedStringConstPtr createBoundedString (std::size_t maxLength) const
 
ScalarArrayConstPtr createScalarArray (ScalarType elementType) const
 
ScalarArrayConstPtr createFixedScalarArray (ScalarType elementType, std::size_t size) const
 
ScalarArrayConstPtr createBoundedScalarArray (ScalarType elementType, std::size_t bound) const
 
StructureArrayConstPtr createStructureArray (StructureConstPtr const &structure) const
 
StructureConstPtr createStructure () const
 
StructureConstPtr createStructure (StringArray const &fieldNames, FieldConstPtrArray const &fields) const
 
StructureConstPtr createStructure (std::string const &id, StringArray const &fieldNames, FieldConstPtrArray const &fields) const
 
UnionArrayConstPtr createUnionArray (UnionConstPtr const &punion) const
 
UnionArrayConstPtr createVariantUnionArray () const
 
UnionConstPtr createVariantUnion () const
 
UnionConstPtr createUnion (StringArray const &fieldNames, FieldConstPtrArray const &fields) const
 
UnionConstPtr createUnion (std::string const &id, StringArray const &fieldNames, FieldConstPtrArray const &fields) const
 
StructureConstPtr appendField (StructureConstPtr const &structure, std::string const &fieldName, FieldConstPtr const &field) const
 
StructureConstPtr appendFields (StructureConstPtr const &structure, StringArray const &fieldNames, FieldConstPtrArray const &fields) const
 
FieldConstPtr deserialize (ByteBuffer *buffer, DeserializableControl *control) const
 

Static Public Member Functions

static const FieldCreatePtr & getFieldCreate ()
 

Friends

struct detail::field_factory
 
class Field
 

Detailed Description

This is a singleton class for creating introspection interfaces.

Definition at line 1242 of file pvIntrospect.h.

Member Function Documentation

StructureConstPtr epics::pvData::FieldCreate::appendField ( StructureConstPtr const &  structure,
std::string const &  fieldName,
FieldConstPtr const &  field 
) const

Append a field to a structure.

Parameters
structureThe structure to which the field is appended.
fieldNameThe name of the field.
fieldThe field.
Returns
a Structure interface for the newly created object.
StructureConstPtr epics::pvData::FieldCreate::appendFields ( StructureConstPtr const &  structure,
StringArray const &  fieldNames,
FieldConstPtrArray const &  fields 
) const

Append fields to a structure.

Parameters
structureThe structure to which the fields appended.
fieldNamesThe names of the fields.
fieldsThe fields.
Returns
a Structure interface for the newly created object.
ScalarArrayConstPtr epics::pvData::FieldCreate::createBoundedScalarArray ( ScalarType  elementType,
std::size_t  bound 
) const

Create an Array field, bounded size array.

Parameters
elementTypeThe ScalarType for array elements
boundArray maximum capacity.
Returns
An Array Interface for the newly created object.
BoundedStringConstPtr epics::pvData::FieldCreate::createBoundedString ( std::size_t  maxLength) const

Create a BoundedString.

Parameters
maxLengtha string maximum length.
Returns
a BoundedString interface for the newly created object.
Exceptions
IllegalArgumentExceptionif maxLength == 0.
FieldBuilderPtr epics::pvData::FieldCreate::createFieldBuilder ( ) const

Create a new instance of in-line Field builder.

Returns
a new instance of a FieldBuilder.
FieldBuilderPtr epics::pvData::FieldCreate::createFieldBuilder ( StructureConstPtr  S) const

Create a new instance of in-line Field builder pre-initialized with and existing Structure

Returns
a new instance of a FieldBuilder.
ScalarConstPtr epics::pvData::FieldCreate::createScalar ( ScalarType  scalarType) const

Create a ScalarField.

Parameters
scalarTypeThe scalar type.
Returns
a Scalar interface for the newly created object.
Exceptions
IllegalArgumentExceptionif an illegal type is specified.
ScalarArrayConstPtr epics::pvData::FieldCreate::createScalarArray ( ScalarType  elementType) const

Create an Array field, variable size array.

Parameters
elementTypeThe ScalarType for array elements
Returns
An Array Interface for the newly created object.
StructureConstPtr epics::pvData::FieldCreate::createStructure ( ) const

Create a Structure field.

Returns
a Structure interface for the newly created object.
StructureConstPtr epics::pvData::FieldCreate::createStructure ( StringArray const &  fieldNames,
FieldConstPtrArray const &  fields 
) const

Create a Structure field.

Parameters
fieldNamesthe names of the fields for the structure.
fieldsThe array of Field objects for the structure.
Returns
a Structure interface for the newly created object.
StructureConstPtr epics::pvData::FieldCreate::createStructure ( std::string const &  id,
StringArray const &  fieldNames,
FieldConstPtrArray const &  fields 
) const

Create a Structure field with identification string.

Parameters
idThe identification string for the structure.
fieldNamesthe names of the fields for the structure.
fieldsThe array of Field objects for the structure.
Returns
a Structure interface for the newly created object.
StructureArrayConstPtr epics::pvData::FieldCreate::createStructureArray ( StructureConstPtr const &  structure) const

Create an Array field that is has element type Structure

Parameters
structureThe Structure for each array element.
Returns
An Array Interface for the newly created object.
UnionConstPtr epics::pvData::FieldCreate::createUnion ( StringArray const &  fieldNames,
FieldConstPtrArray const &  fields 
) const

Create a Union field.

Parameters
fieldNamesthe names of the fields for the union.
fieldsThe Field for each fields for the union.
Returns
a Union interface for the newly created object.
UnionConstPtr epics::pvData::FieldCreate::createUnion ( std::string const &  id,
StringArray const &  fieldNames,
FieldConstPtrArray const &  fields 
) const

Create a Union field with identification string.

Parameters
idThe identification string for the union.
fieldNamesthe names of the fields for the union.
fieldsThe array of Field objects for the union.
Returns
a Union interface for the newly created object.
UnionArrayConstPtr epics::pvData::FieldCreate::createUnionArray ( UnionConstPtr const &  punion) const

Create an Array field that is has element type Union

Parameters
punionThe Union for each array element.
Returns
An Array Interface for the newly created object.
UnionConstPtr epics::pvData::FieldCreate::createVariantUnion ( ) const

Create a variant Union (aka any type) field.

Returns
a Union interface for the newly created object.
UnionArrayConstPtr epics::pvData::FieldCreate::createVariantUnionArray ( ) const

Create a variant UnionArray (aka any type) field.

Returns
a UnionArray interface for the newly created object.
FieldConstPtr epics::pvData::FieldCreate::deserialize ( ByteBuffer buffer,
DeserializableControl control 
) const

Deserialize Field instance from given byte buffer.

Parameters
bufferBuffer containing serialized Field instance.
controlDeserialization control instance.
Returns
a deserialized Field instance.

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