Template Class DefineType¶
Defined in File idata.hpp
Class Documentation¶
-
template<typename DATA, typename BASETYPE, bool pure = false, typename CAPS = typename DATA::Capabilities, typename PARAMS = typename DATA::Parameters>
class DefineType¶ Convenient template class to define data types.
There are two required and three optional template arguments: DATA: the associated data object class. BASETYPE: the parent data type. pure: optional, boolean argument indicating if data object is pure (i.e., its members/parameters are independent from parent). CAPS: optional, the capabilities class associated with the data object class. Default is DATA::Capabilities. PARAMS: optional, the parameters class associated with the data object class. Default is DATA::Parameters.
Note
The class defines static datatype() and dataname() methods that call the corresponding static methods in the data object class it also defines a static ispure method that propagates up the hierarchy (i.e., a data type is pure only if itself all its (grand)parents are pure.
Public Types