This is Unofficial EPICS BASE Doxygen Site
epics::pvData::PVDataCreate Class Reference

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

#include "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 PVDataCreatePtrgetPVDataCreate ()
 

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.

Definition at line 471 of file PVDataCreateFactory.cpp.

472 {
473  switch(field->getType()) {
474  case scalar: {
475  ScalarConstPtr xx = static_pointer_cast<const Scalar>(field);
476  return createPVScalar(xx);
477  }
478  case scalarArray: {
479  ScalarArrayConstPtr xx = static_pointer_cast<const ScalarArray>(field);
480  return createPVScalarArray(xx);
481  }
482  case structure: {
483  StructureConstPtr xx = static_pointer_cast<const Structure>(field);
484  return createPVStructure(xx);
485  }
486  case structureArray: {
487  StructureArrayConstPtr xx = static_pointer_cast<const StructureArray>(field);
488  return createPVStructureArray(xx);
489  }
490  case union_: {
491  UnionConstPtr xx = static_pointer_cast<const Union>(field);
492  return createPVUnion(xx);
493  }
494  case unionArray: {
495  UnionArrayConstPtr xx = static_pointer_cast<const UnionArray>(field);
496  return createPVUnionArray(xx);
497  }
498  }
499  throw std::logic_error("PVDataCreate::createPVField should never get here");
500 }
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Definition: shared_ptr.hpp:788
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
std::tr1::shared_ptr< const Scalar > ScalarConstPtr
Definition: pvIntrospect.h:150
PVStructurePtr createPVStructure(StructureConstPtr const &structure)
PVUnionArrayPtr createPVUnionArray(UnionArrayConstPtr const &unionArray)
std::tr1::shared_ptr< const Union > UnionConstPtr
Definition: pvIntrospect.h:170
std::tr1::shared_ptr< PVAT > createPVScalarArray()
Definition: pvData.h:1590
PVUnionPtr createPVUnion(UnionConstPtr const &punion)
std::tr1::shared_ptr< const ScalarArray > ScalarArrayConstPtr
Definition: pvIntrospect.h:158
std::tr1::shared_ptr< PVT > createPVScalar()
Definition: pvData.h:1521
PVStructureArrayPtr createPVStructureArray(StructureArrayConstPtr const &structureArray)
std::tr1::shared_ptr< const UnionArray > UnionArrayConstPtr
Definition: pvIntrospect.h:174
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

Definition at line 502 of file PVDataCreateFactory.cpp.

503 {
504  switch(fieldToClone->getField()->getType()) {
505  case scalar:
506  {
507  PVScalarPtr pvScalar = static_pointer_cast<PVScalar>(fieldToClone);
508  return createPVScalar(pvScalar);
509  }
510  case scalarArray:
511  {
512  PVScalarArrayPtr pvScalarArray
513  = static_pointer_cast<PVScalarArray>(fieldToClone);
514  return createPVScalarArray(pvScalarArray);
515  }
516  case structure:
517  {
518  PVStructurePtr pvStructure
519  = static_pointer_cast<PVStructure>(fieldToClone);
520  StringArray const & fieldNames = pvStructure->getStructure()->getFieldNames();
521  PVFieldPtrArray const & pvFieldPtrArray = pvStructure->getPVFields();
522  return createPVStructure(fieldNames,pvFieldPtrArray);
523  }
524  case structureArray:
525  {
527  = static_pointer_cast<PVStructureArray>(fieldToClone);
528  StructureArrayConstPtr structureArray = from->getStructureArray();
530  structureArray);
531  to->copyUnchecked(*from);
532  return to;
533  }
534  case union_:
535  {
536  PVUnionPtr pvUnion
537  = static_pointer_cast<PVUnion>(fieldToClone);
538  return createPVUnion(pvUnion);
539  }
540  case unionArray:
541  {
542  PVUnionArrayPtr from
543  = static_pointer_cast<PVUnionArray>(fieldToClone);
544  UnionArrayConstPtr unionArray = from->getUnionArray();
545  PVUnionArrayPtr to = createPVUnionArray(unionArray);
546  to->copyUnchecked(*from);
547  return to;
548  }
549  }
550  throw std::logic_error("PVDataCreate::createPVField should never get here");
551 }
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Definition: shared_ptr.hpp:788
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
PVValueArray< PVStructurePtr > PVStructureArray
Definition: pvData.h:99
PVStructurePtr createPVStructure(StructureConstPtr const &structure)
PVUnionArrayPtr createPVUnionArray(UnionArrayConstPtr const &unionArray)
std::tr1::shared_ptr< PVUnion > PVUnionPtr
Definition: pvData.h:107
std::tr1::shared_ptr< PVStructureArray > PVStructureArrayPtr
Definition: pvData.h:100
std::tr1::shared_ptr< PVAT > createPVScalarArray()
Definition: pvData.h:1590
PVValueArray< PVUnionPtr > PVUnionArray
Definition: pvData.h:119
std::tr1::shared_ptr< PVScalar > PVScalarPtr
Definition: pvData.h:77
std::tr1::shared_ptr< PVUnionArray > PVUnionArrayPtr
Definition: pvData.h:120
std::vector< PVFieldPtr > PVFieldPtrArray
Definition: pvData.h:70
PVUnionPtr createPVUnion(UnionConstPtr const &punion)
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87
std::tr1::shared_ptr< PVT > createPVScalar()
Definition: pvData.h:1521
std::vector< std::string > StringArray
Definition: pvType.h:110
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
Definition: pvData.h:82
PVStructureArrayPtr createPVStructureArray(StructureArrayConstPtr const &structureArray)
std::tr1::shared_ptr< const UnionArray > UnionArrayConstPtr
Definition: pvIntrospect.h:174
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.

Definition at line 553 of file PVDataCreateFactory.cpp.

554 {
555  ScalarType scalarType = scalar->getScalarType();
556  switch(scalarType) {
557  case pvBoolean:
558  return PVScalarPtr(new PVBoolean(scalar));
559  case pvByte:
560  return PVScalarPtr(new PVByte(scalar));
561  case pvShort:
562  return PVScalarPtr(new PVShort(scalar));
563  case pvInt:
564  return PVScalarPtr(new PVInt(scalar));
565  case pvLong:
566  return PVScalarPtr(new PVLong(scalar));
567  case pvUByte:
568  return PVScalarPtr(new PVUByte(scalar));
569  case pvUShort:
570  return PVScalarPtr(new PVUShort(scalar));
571  case pvUInt:
572  return PVScalarPtr(new PVUInt(scalar));
573  case pvULong:
574  return PVScalarPtr(new PVULong(scalar));
575  case pvFloat:
576  return PVScalarPtr(new PVFloat(scalar));
577  case pvDouble:
578  return PVScalarPtr(new PVDouble(scalar));
579  case pvString:
580  return PVScalarPtr(new PVString(scalar));
581  }
582  throw std::logic_error("PVDataCreate::createPVScalar should never get here");
583 }
PVScalarValue< int32 > PVInt
Definition: pvData.h:496
PVScalarValue< uint32 > PVUInt
Definition: pvData.h:500
PVScalarValue< boolean > PVBoolean
Definition: pvData.h:493
PVScalarValue< uint64 > PVULong
Definition: pvData.h:501
std::tr1::shared_ptr< PVScalar > PVScalarPtr
Definition: pvData.h:77
PVScalarValue< uint8 > PVUByte
Definition: pvData.h:498
PVScalarValue< int64 > PVLong
Definition: pvData.h:497
PVScalarValue< int16 > PVShort
Definition: pvData.h:495
PVScalarValue< int8 > PVByte
Definition: pvData.h:494
PVScalarValue< double > PVDouble
Definition: pvData.h:503
PVScalarValue< float > PVFloat
Definition: pvData.h:502
PVScalarValue< uint16 > PVUShort
Definition: pvData.h:499
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.

Definition at line 585 of file PVDataCreateFactory.cpp.

586 {
587  ScalarConstPtr scalar = fieldCreate->createScalar(scalarType);
588  return createPVScalar(scalar);
589 }
std::tr1::shared_ptr< const Scalar > ScalarConstPtr
Definition: pvIntrospect.h:150
std::tr1::shared_ptr< PVT > createPVScalar()
Definition: pvData.h:1521
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.

Definition at line 592 of file PVDataCreateFactory.cpp.

593 {
594  ScalarType scalarType = scalarToClone->getScalar()->getScalarType();
595  PVScalarPtr pvScalar = createPVScalar(scalarType);
596  pvScalar->copyUnchecked(*scalarToClone);
597  return pvScalar;
598 }
std::tr1::shared_ptr< PVScalar > PVScalarPtr
Definition: pvData.h:77
std::tr1::shared_ptr< PVT > createPVScalar()
Definition: pvData.h:1521
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.

1522  {
1523  return std::tr1::static_pointer_cast<PVT>(createPVScalar(PVT::typeCode));
1524  }
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Definition: shared_ptr.hpp:788
std::tr1::shared_ptr< PVT > createPVScalar()
Definition: pvData.h:1521
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.

Definition at line 600 of file PVDataCreateFactory.cpp.

602 {
603  switch(scalarArray->getElementType()) {
604  case pvBoolean:
606  case pvByte:
608  case pvShort:
610  case pvInt:
612  case pvLong:
614  case pvUByte:
616  case pvUShort:
618  case pvUInt:
620  case pvULong:
622  case pvFloat:
624  case pvDouble:
626  case pvString:
628  }
629  throw std::logic_error("PVDataCreate::createPVScalarArray should never get here");
630 
631 }
PVValueArray< int16 > PVShortArray
Definition: pvData.h:1436
PVValueArray< uint8 > PVUByteArray
Definition: pvData.h:1445
PVValueArray< uint16 > PVUShortArray
Definition: pvData.h:1448
PVValueArray< double > PVDoubleArray
Definition: pvData.h:1460
PVValueArray< int32 > PVIntArray
Definition: pvData.h:1439
PVValueArray< uint64 > PVULongArray
Definition: pvData.h:1454
PVValueArray< float > PVFloatArray
Definition: pvData.h:1457
PVValueArray< int8 > PVByteArray
Definition: pvData.h:1433
PVValueArray< boolean > PVBooleanArray
Definition: pvData.h:1430
PVValueArray< uint32 > PVUIntArray
Definition: pvData.h:1451
PVValueArray< std::string > PVStringArray
Definition: pvData.h:1463
PVValueArray< int64 > PVLongArray
Definition: pvData.h:1442
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
Definition: pvData.h:82
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.

Definition at line 633 of file PVDataCreateFactory.cpp.

635 {
636  ScalarArrayConstPtr scalarArray = fieldCreate->createScalarArray(elementType);
637  return createPVScalarArray(scalarArray);
638 }
std::tr1::shared_ptr< PVAT > createPVScalarArray()
Definition: pvData.h:1590
std::tr1::shared_ptr< const ScalarArray > ScalarArrayConstPtr
Definition: pvIntrospect.h:158
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.

Definition at line 640 of file PVDataCreateFactory.cpp.

642 {
644  arrayToClone->getScalarArray()->getElementType());
645  pvArray->assign(*arrayToClone.get());
646  return pvArray;
647 }
std::tr1::shared_ptr< PVAT > createPVScalarArray()
Definition: pvData.h:1590
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
Definition: pvData.h:82
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.

1591  {
1592  return std::tr1::static_pointer_cast<PVAT>(createPVScalarArray(PVAT::typeCode));
1593  }
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Definition: shared_ptr.hpp:788
std::tr1::shared_ptr< PVAT > createPVScalarArray()
Definition: pvData.h:1590
PVStructurePtr epics::pvData::PVDataCreate::createPVStructure ( StructureConstPtr const &  structure)

Create implementation for PVStructure.

Parameters
structureThe introspection interface.
Returns
The PVStructure implementation

Definition at line 655 of file PVDataCreateFactory.cpp.

657 {
658  return PVStructurePtr(new PVStructure(structure));
659 }
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87
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

Definition at line 683 of file PVDataCreateFactory.cpp.

685 {
686  size_t num = fieldNames.size();
687  FieldConstPtrArray fields(num);
688  for (size_t i=0;i<num;i++) fields[i] = pvFields[i]->getField();
689  StructureConstPtr structure = fieldCreate->createStructure(fieldNames,fields);
690  PVStructurePtr pvStructure(new PVStructure(structure,pvFields));
691  return pvStructure;
692 }
int i
Definition: scan.c:967
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
std::vector< FieldConstPtr > FieldConstPtrArray
Definition: pvIntrospect.h:146
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87
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.

Definition at line 694 of file PVDataCreateFactory.cpp.

695 {
696  FieldConstPtrArray field;
697  if(!structToClone) {
698  // is this correct?!
699  FieldConstPtrArray fields(0);
700  StringArray fieldNames(0);
701  StructureConstPtr structure = fieldCreate->createStructure(fieldNames,fields);
702  return PVStructurePtr(new PVStructure(structure));
703  }
704  StructureConstPtr structure = structToClone->getStructure();
705  PVStructurePtr pvStructure(new PVStructure(structure));
706  pvStructure->copyUnchecked(*structToClone);
707  return pvStructure;
708 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
std::vector< FieldConstPtr > FieldConstPtrArray
Definition: pvIntrospect.h:146
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87
std::vector< std::string > StringArray
Definition: pvType.h:110
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.

Definition at line 649 of file PVDataCreateFactory.cpp.

651 {
653 }
PVValueArray< PVStructurePtr > PVStructureArray
Definition: pvData.h:99
std::tr1::shared_ptr< PVStructureArray > PVStructureArrayPtr
Definition: pvData.h:100
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.

1609  {
1610  return createPVStructureArray(fieldCreate->createStructureArray(structure));
1611  }
PVStructureArrayPtr createPVStructureArray(StructureArrayConstPtr const &structureArray)
PVUnionPtr epics::pvData::PVDataCreate::createPVUnion ( UnionConstPtr const &  punion)

Create implementation for PVUnion.

Parameters
punionThe introspection interface.
Returns
The PVUnion implementation

Definition at line 667 of file PVDataCreateFactory.cpp.

669 {
670  return PVUnionPtr(new PVUnion(punion));
671 }
std::tr1::shared_ptr< PVUnion > PVUnionPtr
Definition: pvData.h:107
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.

Definition at line 710 of file PVDataCreateFactory.cpp.

711 {
712  PVUnionPtr punion(new PVUnion(unionToClone->getUnion()));
713  // set cloned value
714  punion->set(unionToClone->getSelectedIndex(), createPVField(unionToClone->get()));
715  return punion;
716 }
PVFieldPtr createPVField(FieldConstPtr const &field)
std::tr1::shared_ptr< PVUnion > PVUnionPtr
Definition: pvData.h:107
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.

Definition at line 661 of file PVDataCreateFactory.cpp.

663 {
665 }
PVValueArray< PVUnionPtr > PVUnionArray
Definition: pvData.h:119
std::tr1::shared_ptr< PVUnionArray > PVUnionArrayPtr
Definition: pvData.h:120
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.

1627  {
1628  return createPVUnionArray(fieldCreate->createUnionArray(punion));
1629  }
PVUnionArrayPtr createPVUnionArray(UnionArrayConstPtr const &unionArray)
PVUnionPtr epics::pvData::PVDataCreate::createPVVariantUnion ( )

Create variant union implementation.

Returns
The variant PVUnion implementation.

Definition at line 673 of file PVDataCreateFactory.cpp.

674 {
675  return PVUnionPtr(new PVUnion(fieldCreate->createVariantUnion()));
676 }
std::tr1::shared_ptr< PVUnion > PVUnionPtr
Definition: pvData.h:107
PVUnionArrayPtr epics::pvData::PVDataCreate::createPVVariantUnionArray ( )

Create variant union array implementation.

Returns
The variant PVUnionArray implementation.

Definition at line 678 of file PVDataCreateFactory.cpp.

679 {
680  return PVUnionArrayPtr(new PVUnionArray(fieldCreate->createVariantUnionArray()));
681 }
PVValueArray< PVUnionPtr > PVUnionArray
Definition: pvData.h:119
std::tr1::shared_ptr< PVUnionArray > PVUnionArrayPtr
Definition: pvData.h:120
const PVDataCreatePtr & epics::pvData::PVDataCreate::getPVDataCreate ( )
static

get the singleton

Returns
The PVDataCreate implementation

Definition at line 739 of file PVDataCreateFactory.cpp.

740 {
741  epicsThreadOnce(&pvfield_factory_once, &pvfield_factory_init, 0);
742  if(!pvfield_factory_s->pvDataCreate)
743  throw std::logic_error("getPVDataCreate() not initialized");
744  return pvfield_factory_s->pvDataCreate;
745 }
LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg)

Friends And Related Function Documentation

friend struct detail::pvfield_factory
friend

Definition at line 1475 of file pvData.h.


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