PVData C++ 8.0.7
Loading...
Searching...
No Matches
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

◆ appendField()

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.

◆ appendFields()

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.

◆ createBoundedScalarArray()

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.

◆ createBoundedString()

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.

◆ createFieldBuilder() [1/2]

FieldBuilderPtr epics::pvData::FieldCreate::createFieldBuilder ( ) const

Create a new instance of in-line Field builder.

Returns
a new instance of a FieldBuilder.

◆ createFieldBuilder() [2/2]

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.

◆ createScalar()

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.

◆ createScalarArray()

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.

◆ createStructure() [1/3]

StructureConstPtr epics::pvData::FieldCreate::createStructure ( ) const

Create a Structure field.

Returns
a Structure interface for the newly created object.

◆ createStructure() [2/3]

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.

◆ createStructure() [3/3]

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.

◆ createStructureArray()

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.

◆ createUnion() [1/2]

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.

◆ createUnion() [2/2]

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.

◆ createUnionArray()

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.

◆ createVariantUnion()

UnionConstPtr epics::pvData::FieldCreate::createVariantUnion ( ) const

Create a variant Union (aka any type) field.

Returns
a Union interface for the newly created object.

◆ createVariantUnionArray()

UnionArrayConstPtr epics::pvData::FieldCreate::createVariantUnionArray ( ) const

Create a variant UnionArray (aka any type) field.

Returns
a UnionArray interface for the newly created object.

◆ deserialize()

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.

Friends And Related Symbol Documentation

◆ detail::field_factory

friend struct detail::field_factory
friend

Definition at line 1243 of file pvIntrospect.h.

◆ Field

friend class Field
friend

Definition at line 1400 of file pvIntrospect.h.


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