Data Model Generation
Defines
-
GET_DTO_ATT_NAME_VARIABLE(r, data, i, att_desc)
Extract the name of an attribute described as a tuple (type, name) adding a separator if needed.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT and MAKE_DTO_STRUCT
- Parameters:
r
data
i
att_desc – the tuple
-
GET_DTO_ATT_NAMES(att_seq)
Extract every attribute names from a sequence of attribute description.
Warning
This macro should not be called directly, it is used through MAKE_DTO_STRUCT
- Parameters:
att_seq – the sequence of attributes
-
COMPARE_ATT_VARIABLE(r, data, att)
Generate a safe comparison on an attribute.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_SORT
- Parameters:
r
data
att – name of the attribute
-
COMPARE_ATT_LIST(att_seq)
Generate a safe comparison on a sequence of attributes.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_SORT
- Parameters:
att_seq
-
MAKE_ATT_INIT(add, val)
Generate an initialization of an attribute value.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT and MAKE_DTO_STRUCT
- Parameters:
add – should we add the initialization
val – the value
-
MAKE_DTO_ATT_DECL_VARIABLE(r, data, att_desc)
Create the declaration of an attribute described as a tuple (type, name)
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT and MAKE_DTO_STRUCT
- Parameters:
r
data
att_desc – the tuple
-
MAKE_CLASS_ATT_DECL_VARIABLE(r, data, att_desc)
Create the declaration of an attribute described as a tuple (type, name)
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT and MAKE_DTO_STRUCT
- Parameters:
r
data
att_desc – the tuple
-
MAKE_ATT_DECLARATION(class, att_seq)
Create the declaration of every attribute in a sequence of attribute description.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT and MAKE_DTO_STRUCT
- Parameters:
att_seq – the sequence of attributes
-
MAKE_ATT_SETTER_VARIABLE(r, data, att_desc)
Create the declaration of the setter of an attribute.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT
- Parameters:
r
data
att_desc – the attribute described as sequence (type)(name)
-
MAKE_ATT_SETTER(att_seq)
Create the declaration of the setters for every attribute in a sequence of attribute description.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT
- Parameters:
att_seq – the sequence of attributes
-
MAKE_ATT_GETTER_VARIABLE(r, is_const, att_desc)
Create the declaration of the getter(s) of an attribute.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT
- Parameters:
r
is_const – is the attribute const (if not a getter type& get_att() will be created)
att_desc – the attribute described as sequence (type)(name)
-
MAKE_ATT_GETTER(att_seq, is_const)
Create the declaration of the getters for every attribute in a sequence of attribute description.
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT
- Parameters:
is_const – is the attribute const (if not a getter type& get_att() will be created)
att_seq – the sequence of attributes
-
MAKE_MAP_ATT(key, value, name)
Generate an editable attribute
std::map<key, value> _nameand every getter/setter.Warning
This macro should not be called directly, it is used through MAKE_MAP
- Parameters:
key – the type of the keys
value – the type of the values
name – the name of the attribute
-
MAKE_SET_ATT(value, name)
Generate an editable attribute
std::set<value> _nameand every getter/setter.Warning
This macro should not be called directly, it is used through MAKE_SET
- Parameters:
value – the type of the values
name – the name of the attribute
-
MAKE_STRHASH_MAP_ATT(value, name)
Generate an editable attribute
std::unordered_map<std::string, value> _nameand every getter/setter.Warning
This macro should not be called directly, it is used through MAKE_STRHASH_MAP
- Parameters:
value – the type of the values
name – the name of the attribute
-
MAKE_BASIC_CLASS_REF_ATT(type, name, is_const)
Generate an editable attribute
type &_nameand every getter/setter.Warning
This macro should not be called directly, it is used through MAKE_CLASS_REF_ATT and MAKE_CLASS_CONSTREF_ATT
- Parameters:
type – the class name
name – the name of the attribute
is_const – is the reference const
-
MAKE_CLASS_BASIC_ATT(att_seq, is_const)
Generate every declaration and getters/setters for a sequence of attributes each attribute being a sequence (type)(name)
Warning
This macro should not be called directly, it is used through MAKE_CLASS_ATT
- Parameters:
att_seq – the sequence of attributes
is_const – true if the attribute is const and not editable