Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fields.hpp File Reference
#include <boost/preprocessor/variadic/to_list.hpp>
#include <boost/preprocessor/list/for_each.hpp>
#include "cargo/types.hpp"

Go to the source code of this file.

Macros

#define CARGO_REGISTER_EMPTY
 Register empty cargo class. More...
 
#define CARGO_REGISTER(...)
 Registers cargo fields within class. More...
 
#define CARGO_EXTEND(BASE)
 Registers new cargo fields within child class. More...
 
#define __CARGO_EXTEND(...)
 
#define GENERATE_ELEMENTS__(...)
 
#define GENERATE_ELEMENT__(r, _, element)   v.visit(#element, element); \
 

Detailed Description

Macro Definition Documentation

#define __CARGO_EXTEND (   ...)
Value:
template<typename Visitor> \
void accept(Visitor v) { \
GENERATE_ELEMENTS__(__VA_ARGS__) \
ParentVisitor::accept(v); \
} \
template<typename Visitor> \
void accept(Visitor v) const { \
GENERATE_ELEMENTS__(__VA_ARGS__) \
ParentVisitor::accept(v); \
} \
#define GENERATE_ELEMENTS__(...)
Definition: fields.hpp:141
#define GENERATE_ELEMENT__ (   r,
  _,
  element 
)    v.visit(#element, element); \
#define GENERATE_ELEMENTS__ (   ...)
Value:
BOOST_PP_LIST_FOR_EACH(GENERATE_ELEMENT__, \
_, \
BOOST_PP_VARIADIC_TO_LIST(__VA_ARGS__)) \
#define GENERATE_ELEMENT__(r, _, element)
Definition: fields.hpp:146