Dev Essential
Loading...
Searching...
No Matches
ddelement.h
Go to the documentation of this file.
1
14
15#ifndef DDELEM_H_INCLUDED
16#define DDELEM_H_INCLUDED
17
18#include <ddl/dd/dd.h>
19#include <ddl/dd/dddatatype.h>
20#include <ddl/dd/ddenum.h>
21#include <ddl/dd/ddstructure.h>
22
23#include <string>
24
25namespace ddl {
26
28class DDStructure;
30
36class DDElement {
37public:
46
51 DDElement() = default;
56 DDElement(DDElement&&) = default;
61 DDElement(const DDElement&) = default;
73 DDElement& operator=(const DDElement&) = default;
78 ~DDElement() = default;
79
104 DDElement(const std::string& name,
105 const dd::DataType& data_type,
106 const Deserialized& deserialized_info = {},
107 const Serialized& serialized_info = {},
108 const dd::ArraySize& array_size = 1,
109 const std::string& description = {},
110 const std::string& comment = {},
111 const dd::BaseUnit& base_unit = {},
112 const std::string& minimum_value = {},
113 const std::string& maximum_value = {},
114 const std::string& default_value = {},
115 const std::string& scale = {},
116 const std::string& offset = {});
117
146 DDElement(const std::string& name,
147 const dd::DataType& data_type,
148 const Deserialized& deserialized_info,
149 const Serialized& serialized_info,
150 const dd::ArraySize& array_size,
151 const std::string& description,
152 const std::string& comment,
153 const DDUnit& unit,
154 const std::string& minimum_value = {},
155 const std::string& maximum_value = {},
156 const std::string& default_value = {},
157 const std::string& scale = {},
158 const std::string& offset = {});
159
185 DDElement(const std::string& name,
186 const DDDataType& data_type,
187 const Deserialized& deserialized_info = {},
188 const Serialized& serialized_info = {},
189 const dd::ArraySize& array_size = 1,
190 const std::string& description = {},
191 const std::string& comment = {},
192 const dd::BaseUnit& base_unit = {},
193 const std::string& minimum_value = {},
194 const std::string& maximum_value = {},
195 const std::string& default_value = {},
196 const std::string& scale = {},
197 const std::string& offset = {});
198
227 DDElement(const std::string& name,
228 const DDDataType& data_type,
229 const Deserialized& deserialized_info,
230 const Serialized& serialized_info,
231 const dd::ArraySize& array_size,
232 const std::string& description,
233 const std::string& comment,
234 const DDUnit& unit,
235 const std::string& minimum_value = {},
236 const std::string& maximum_value = {},
237 const std::string& default_value = {},
238 const std::string& scale = {},
239 const std::string& offset = {});
240
270 DDElement(const std::string& name,
271 const DDEnum& enum_type,
272 const Deserialized& deserialized_info = {},
273 const Serialized& serialized_info = {},
274 const dd::ArraySize& array_size = 1,
275 const std::string& description = {},
276 const std::string& comment = {},
277 const dd::BaseUnit& base_unit = {},
278 const std::string& value = {},
279 const std::string& minimum_value = {},
280 const std::string& maximum_value = {},
281 const std::string& default_value = {},
282 const std::string& scale = {},
283 const std::string& offset = {});
284
317 DDElement(const std::string& name,
318 const DDEnum& enum_type,
319 const Deserialized& deserialized_info,
320 const Serialized& serialized_info,
321 const dd::ArraySize& array_size,
322 const std::string& description,
323 const std::string& comment,
324 const DDUnit& unit,
325 const std::string& value = {},
326 const std::string& minimum_value = {},
327 const std::string& maximum_value = {},
328 const std::string& default_value = {},
329 const std::string& scale = {},
330 const std::string& offset = {});
331
351 DDElement(const std::string& name,
352 const DDStructure& structure_type,
353 const Deserialized& deserialized_info = {},
354 const Serialized& serialized_info = {},
355 const dd::ArraySize& array_size = 1,
356 const std::string& description = {},
357 const std::string& comment = {});
358
370 const dd::DataDefinition& getDD() const;
371
372private:
373 // the data definition
375 // the element to add to the struct
377};
378} // namespace ddl
379
380#endif // DDELEM_H_INCLUDED
A DataType class holding the DD for a Datatype with dependencies. (i.e. Units!)
Definition dddatatype.h:30
DDElement(const std::string &name, const dd::DataType &data_type, const Deserialized &deserialized_info, const Serialized &serialized_info, const dd::ArraySize &array_size, const std::string &description, const std::string &comment, const DDUnit &unit, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a POD Type (dd::DataType) Use it like:
DDElement()=default
Construct a new DDElement object.
~DDElement()=default
Destroy the DDElement object.
DDElement(const DDElement &)=default
Construct a new DDElement object.
DDElement(const std::string &name, const DDEnum &enum_type, const Deserialized &deserialized_info, const Serialized &serialized_info, const dd::ArraySize &array_size, const std::string &description, const std::string &comment, const DDUnit &unit, const std::string &value={}, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a Enum Type (dd::EnumType) Use it like:
DDElement & operator=(const DDElement &)=default
assignment copy operator
const dd::StructType::Element & getElement() const
Get the Element object.
dd::datamodel::StructType::SerializedInfo Serialized
Serialized definiton for one element.
Definition ddelement.h:45
DDElement(const std::string &name, const dd::DataType &data_type, const Deserialized &deserialized_info={}, const Serialized &serialized_info={}, const dd::ArraySize &array_size=1, const std::string &description={}, const std::string &comment={}, const dd::BaseUnit &base_unit={}, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a POD Type (dd::DataType) Use it like:
DDElement(const std::string &name, const DDDataType &data_type, const Deserialized &deserialized_info, const Serialized &serialized_info, const dd::ArraySize &array_size, const std::string &description, const std::string &comment, const DDUnit &unit, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a POD Type (dd::DataType) Use it like:
DDElement & operator=(DDElement &&)=default
assignment move operator
dd::datamodel::StructType::DeserializedInfo Deserialized
Deserialized definiton for one element.
Definition ddelement.h:41
DDElement(DDElement &&)=default
Construct a new DDElement object.
DDElement(const std::string &name, const DDDataType &data_type, const Deserialized &deserialized_info={}, const Serialized &serialized_info={}, const dd::ArraySize &array_size=1, const std::string &description={}, const std::string &comment={}, const dd::BaseUnit &base_unit={}, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a POD Type (dd::DataType) Use it like:
DDElement(const std::string &name, const DDEnum &enum_type, const Deserialized &deserialized_info={}, const Serialized &serialized_info={}, const dd::ArraySize &array_size=1, const std::string &description={}, const std::string &comment={}, const dd::BaseUnit &base_unit={}, const std::string &value={}, const std::string &minimum_value={}, const std::string &maximum_value={}, const std::string &default_value={}, const std::string &scale={}, const std::string &offset={})
Construct a new DDElement object that uses a Enum Type (dd::EnumType) Use it like:
DDElement(const std::string &name, const DDStructure &structure_type, const Deserialized &deserialized_info={}, const Serialized &serialized_info={}, const dd::ArraySize &array_size=1, const std::string &description={}, const std::string &comment={})
Construct a new DDElement object that uses a Enum Type (dd::EnumType) Use it like:
const dd::DataDefinition & getDD() const
retrieves a valid DataDefinition for the elements datatypes and units.
Utility class for a complete valid data definition of one EnumType and its dependencies....
Definition ddenum.h:29
Utility class for a complete valid data definition of one StructType and its dependencies....
Definition ddstructure.h:57
The unit class holding a reference to its complete DD (references to baseunits and prefixes)
Definition ddunit.h:92
Definition dd_common_types.h:378
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition dd.h:92
class to describe the deserialized information of a StructType::Element.
Definition datamodel_types.h:644
observable DataDefinition object class for a Element of a StructType.
Definition datamodel_types.h:736
class to describe the serialized information of a StructType::Element.
Definition datamodel_types.h:493
datamodel::DataType DataType
Definition dd.h:51
@ base_unit
the unit is a base unit (BaseUnit)
Definition dd_common_types.h:91
datamodel::BaseUnit BaseUnit
Definition dd.h:39
definiton of the unit namespace
Definition dd_predefined_units.h:55
definition of the ddl namespace
Definition codec.h:21
@ Serialized
alias names for legacy reasons
Definition data_representation.h:28