Dev Essential  1.6.3
Loading...
Searching...
No Matches
ddunit.h
Go to the documentation of this file.
1
14
15#ifndef DDLUNIT_H_INCLUDED
16#define DDLUNIT_H_INCLUDED
17
18#include <ddl/dd/dd.h>
20
21#include <memory>
22#include <string>
23
24namespace ddl {
25
31class DDRefUnit {
32public:
37 DDRefUnit() = delete;
42 DDRefUnit(const DDRefUnit&) = default;
47 DDRefUnit(DDRefUnit&&) = default;
53 DDRefUnit& operator=(const DDRefUnit&) = default;
60
68 DDRefUnit(const dd::BaseUnit& base_unit, int32_t power, const dd::UnitPrefix& unit_prefix);
80 const dd::DataDefinition& getDD() const;
81
82private:
83 dd::Unit::RefUnit _ref_unit;
85};
86
92class DDUnit {
93public:
98 DDUnit() = delete;
103 DDUnit(const DDUnit&);
121
132 DDUnit(const std::string& name,
133 const std::string& numerator,
134 const std::string& denominator,
135 const std::string& offset,
136 const std::vector<DDRefUnit>& ref_units = {});
137
144 void addRefUnit(const DDRefUnit& ref_unit);
145
151 const dd::Unit& getUnit() const;
157 const dd::DataDefinition& getDD() const;
158
159private:
160 std::shared_ptr<dd::Unit> _unit;
162};
163
164} // namespace ddl
165
166#endif // DDLUNIT_H_INCLUDED
The DDRefunit class holding a reference to its complete DD (references to baseunit and prefix)
Definition ddunit.h:31
DDRefUnit(const dd::BaseUnit &base_unit, int32_t power, const dd::UnitPrefix &unit_prefix)
CTOR.
DDRefUnit(const DDRefUnit &)=default
copy CTOR
const dd::DataDefinition & getDD() const
Get the data definition.
DDRefUnit & operator=(const DDRefUnit &)=default
copy assignment operator
const dd::Unit::RefUnit & getRefUnit() const
Get the Ref Unit object.
DDRefUnit(DDRefUnit &&)=default
move CTOR
DDRefUnit()=delete
no default CTOR
DDRefUnit & operator=(DDRefUnit &&)=default
move assignment operator
DDUnit(const DDUnit &)
copy CTOR
DDUnit & operator=(DDUnit &&)
move assignment operator
DDUnit()=delete
no default CTOR
const dd::Unit & getUnit() const
Get the Unit object.
DDUnit & operator=(const DDUnit &)
copy assignment operator
DDUnit(DDUnit &&)
move CTOR
DDUnit(const std::string &name, const std::string &numerator, const std::string &denominator, const std::string &offset, const std::vector< DDRefUnit > &ref_units={})
CTOR.
void addRefUnit(const DDRefUnit &ref_unit)
adding a refunit
const dd::DataDefinition & getDD() const
Get the data definiton.
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition dd.h:92
datamodel for the refUnit
Definition datamodel_units.h:377
datamodel::Unit Unit
Definition dd.h:47
datamodel::UnitPrefix UnitPrefix
Definition dd.h:43
datamodel::BaseUnit BaseUnit
Definition dd.h:39
definiton of the unit prefixes namespace
Definition dd_predefined_units.h:61
definition of the ddl namespace
Definition codec.h:21