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> _name and 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> _name and 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> _name and 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 &_name and 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