Class ValueBuilder¶
Defined in File valueBuilder.h
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
class ValueBuilder¶
Incrementally define and initialize a PVStructure
Equivalent to FieldBuilder with the added ability to assign initial values.
epics::pvData::PVStructurePtr val(epics::pvData::ValueBuilder() .add<pvInt>("intfld", 42) .addNested("sub") .add<pvString>("strfld", "testing") .endNested() .buildPVStructure());
Public Functions
-
explicit ValueBuilder(const std::string &id = std::string())¶
empty structure
-
explicit ValueBuilder(const PVStructure&)¶
Clone existing definition and value.
-
~ValueBuilder()¶
- template<ScalarType ENUM> inline FORCE_INLINE ValueBuilder & add (const std::string &name, typename meta::arg_type< typename ScalarTypeTraits< ENUM >::type >::type V)
Add a scalar field with a given name and initial value.
- template<class T> inline FORCE_INLINE ValueBuilder & add (const std::string &name, const shared_vector< const T > &V)
Add a scalar array field.
- inline FORCE_INLINE ValueBuilder & add (const std::string &name, const PVStructure &V)
-
ValueBuilder &addNested(const std::string &name, Type type = structure, const std::string &id = std::string())¶
Start a sub-structure.
-
ValueBuilder &endNested()¶
End a sub-structure.
-
std::tr1::shared_ptr<PVStructure> buildPVStructure() const¶
Complete building structure
Note
ValueBuilder may be re-used after calling buildPVStructure()
-
struct child¶
Subclassed by epics::pvData::ValueBuilder::child_scalar_array, epics::pvData::ValueBuilder::child_scalar_base, epics::pvData::ValueBuilder::child_struct
Public Functions
-
inline virtual ~child()¶
-
virtual void build(const std::string &name, FieldBuilderPtr &builder) = 0¶
-
virtual void store(const PVFieldPtr &val) = 0¶
-
inline virtual ~child()¶
-
template<typename T>
struct child_scalar : public epics::pvData::ValueBuilder::child_scalar_base¶
-
struct child_scalar_array : public epics::pvData::ValueBuilder::child¶
Public Functions
-
inline virtual ~child_scalar_array()¶
- inline virtual void build (const std::string &name, FieldBuilderPtr &builder) OVERRIDE FINAL
- inline virtual void store (const PVFieldPtr &val) OVERRIDE FINAL
Public Members
-
shared_vector<const void> array¶
-
inline virtual ~child_scalar_array()¶
-
struct child_scalar_base : public epics::pvData::ValueBuilder::child¶
Subclassed by epics::pvData::ValueBuilder::child_scalar< T >
Public Functions
-
inline virtual ~child_scalar_base()¶
-
inline child_scalar_base(ScalarType s)¶
- inline virtual void build (const std::string &name, FieldBuilderPtr &builder) OVERRIDE FINAL
Public Members
-
ScalarType stype¶
-
inline virtual ~child_scalar_base()¶
-
struct child_struct : public epics::pvData::ValueBuilder::child¶
Public Functions
-
inline virtual ~child_struct()¶
-
inline child_struct(ValueBuilder *par, const std::string &id)¶
- inline virtual void build (const std::string &name, FieldBuilderPtr &builder) OVERRIDE FINAL
- inline virtual void store (const PVFieldPtr &val) OVERRIDE FINAL
Public Members
-
ValueBuilder builder¶
Public Static Functions
-
static void buildStruct(const ValueBuilder &self, FieldBuilderPtr &builder)¶
-
static void storeStruct(const ValueBuilder &self, const PVStructurePtr &val)¶
-
static void fillStruct(ValueBuilder &self, const PVStructure &val)¶
-
inline virtual ~child_struct()¶
-
explicit ValueBuilder(const std::string &id = std::string())¶