10 #include <pv/templateMeta.h>
11 #include <pv/pvIntrospect.h>
12 #include <pv/sharedVector.h>
14 namespace epics{
namespace pvData{
41 template<ScalarType ENUM>
64 ValueBuilder& endNested();
70 std::tr1::shared_ptr<PVStructure> buildPVStructure()
const;
74 void _add(
const std::string& name,
const shared_vector<const void> &V);
75 void _add(
const std::string& name,
const PVStructure& V);
79 ValueBuilder *
const parent;
83 friend struct child_struct;
84 struct child_scalar_base;
85 friend struct child_scalar_base;
86 template <
typename T>
struct child_scalar;
87 template <
typename T>
friend struct child_scalar;
88 struct child_scalar_array;
89 friend struct child_scalar_array;
95 ValueBuilder(
const ValueBuilder&);
96 ValueBuilder&
operator=(
const ValueBuilder&);
101 #endif // VALUEBUILDER_H
ValueBuilder & add(const std::string &name, const shared_vector< const T > &V)
Add a scalar array field.
Data interface for a structure,.
constexpr complex< _Tp > & operator=(const _Tp &)
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.