ADTF  3.18.2
dddatatype.h
Go to the documentation of this file.
1 
15 #ifndef DD_DATATYPE_H_INCLUDED
16 #define DD_DATATYPE_H_INCLUDED
17 
18 #include <ddl/dd/dd.h>
19 #include <ddl/dd/dd_common_types.h>
21 #include <ddl/dd/ddunit.h>
22 
23 #include <string>
24 
25 namespace ddl {
30 class DDDataType {
31 public:
36  DDDataType() = delete;
59 
74  DDDataType(const std::string& name,
75  size_t bit_size,
76  const std::string& description = {},
77  dd::OptionalSize array_size = {},
78  const std::string& minimum_value = {},
79  const std::string& maximum_value = {},
80  dd::OptionalSize default_type_alignment = {});
96  DDDataType(const std::string& name,
97  size_t bit_size,
98  const std::string& description,
99  dd::OptionalSize array_size,
100  const std::string& minimum_value,
101  const std::string& maximum_value,
102  dd::OptionalSize default_type_alignment,
103  const DDUnit& unit);
119  DDDataType(const std::string& name,
120  size_t bit_size,
121  const std::string& description,
122  dd::OptionalSize array_size,
123  const std::string& minimum_value,
124  const std::string& maximum_value,
125  dd::OptionalSize default_type_alignment,
126  const dd::BaseUnit& base_unit);
132  const dd::DataType& getDataType() const;
138  const dd::DataDefinition& getDD() const;
139 
140 private:
145  std::shared_ptr<dd::DataType> _data_type;
151 };
152 
153 } // namespace ddl
154 
155 #endif // DD_DATATYPE_H_INCLUDED
A DataType class holding the DD for a Datatype with dependencies.
Definition: dddatatype.h:30
DDDataType(const DDDataType &)
copy CTOR
DDDataType(const std::string &name, size_t bit_size, const std::string &description, dd::OptionalSize array_size, const std::string &minimum_value, const std::string &maximum_value, dd::OptionalSize default_type_alignment, const DDUnit &unit)
CTOR.
DDDataType()=delete
no default CTOR
const dd::DataDefinition & getDD() const
Get the DataDefinition.
DDDataType(const std::string &name, size_t bit_size, const std::string &description={}, dd::OptionalSize array_size={}, const std::string &minimum_value={}, const std::string &maximum_value={}, dd::OptionalSize default_type_alignment={})
CTOR.
DDDataType & operator=(DDDataType &&)
move assignment operator
std::shared_ptr< dd::DataType > _data_type
the type
Definition: dddatatype.h:145
dd::DataDefinition _dd
the data definition
Definition: dddatatype.h:150
const dd::DataType & getDataType() const
Get the Data Type object.
DDDataType(const std::string &name, size_t bit_size, const std::string &description, dd::OptionalSize array_size, const std::string &minimum_value, const std::string &maximum_value, dd::OptionalSize default_type_alignment, const dd::BaseUnit &base_unit)
CTOR.
DDDataType(DDDataType &&)
move CTOR
DDDataType & operator=(const DDDataType &)
copy assignment operator
The unit class holding a reference to its complete DD (references to baseunits and prefixes)
Definition: ddunit.h:92
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition: dd.h:87
observable DataDefinition object class to describe (POD) DataType.
OO DataDefinition - Data Definition.
OO DataDefinition Common Design.
OO DataDefinition DataTypes header for template based DataType usages and the predefined types.
OO DataDefinition Redesign.
@ unit
the unit is a unit (Unit)
@ base_unit
the unit is a base unit (BaseUnit)
utility::Optional< size_t > OptionalSize
Optional Size Type.