#include <boost/integer/integer_mask.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/tuple/rem.hpp>
Go to the source code of this file.
Defines | |
#define | ADD_CADDY_MESSAGE(NAME, CODE, BITS) |
#define | ADD_CADDY_MESSAGE2(r, data, elem) |
#define | ADD_MESSAGE_ENUM(r, data, elem) enum {BOOST_PP_TUPLE_ELEM(3,0,elem) = BOOST_PP_TUPLE_ELEM(3,1,elem)};\ |
#define | ADD_TO_MAP(r, data, elem) data[BOOST_PP_TUPLE_ELEM(3,1,elem)] = BitMap({4, BOOST_PP_TUPLE_REM_CTOR(11,BOOST_PP_TUPLE_ELEM(3,2,elem))}); \ |
#define | DEFINE_MAPPED_MESSAGES(MAPNAME, seq) |
#define | GET_MESSAGE_NAME(r, data, elem) BOOST_PP_TUPLE_ELEM(3,0,elem) = BOOST_PP_TUPLE_ELEM(3,1,elem), |
#define | PP_MSG_FILLER_0(X1, X2, X3) ((X1,X2,X3)) PP_MSG_FILLER_1 |
#define | PP_MSG_FILLER_0_END |
#define | PP_MSG_FILLER_1(X1, X2, X3) ((X1,X2,X3)) PP_MSG_FILLER_0 |
#define | PP_MSG_FILLER_1_END |
#define ADD_CADDY_MESSAGE | ( | NAME, | |
CODE, | |||
BITS | |||
) |
struct NAME : public virtual labust::tritech::DiverBitmap\ {\ enum{type=CODE};\ const std::vector<int>& bitmap() \ { \ static const std::vector<int> bitmap({4, BOOST_PP_TUPLE_REM_CTOR(11, BITS)}); \ return bitmap; \ } \ };
Definition at line 82 of file message_preprocess.hpp.
#define ADD_CADDY_MESSAGE2 | ( | r, | |
data, | |||
elem | |||
) |
ADD_CADDY_MESSAGE(BOOST_PP_TUPLE_ELEM(3,0,elem), \ BOOST_PP_TUPLE_ELEM(3,1,elem), \ BOOST_PP_TUPLE_ELEM(3,2,elem), \ data) \
Definition at line 76 of file message_preprocess.hpp.
#define ADD_MESSAGE_ENUM | ( | r, | |
data, | |||
elem | |||
) | enum {BOOST_PP_TUPLE_ELEM(3,0,elem) = BOOST_PP_TUPLE_ELEM(3,1,elem)};\ |
Definition at line 66 of file message_preprocess.hpp.
#define ADD_TO_MAP | ( | r, | |
data, | |||
elem | |||
) | data[BOOST_PP_TUPLE_ELEM(3,1,elem)] = BitMap({4, BOOST_PP_TUPLE_REM_CTOR(11,BOOST_PP_TUPLE_ELEM(3,2,elem))}); \ |
Definition at line 72 of file message_preprocess.hpp.
#define DEFINE_MAPPED_MESSAGES | ( | MAPNAME, | |
seq | |||
) |
typedef enum {BOOST_PP_SEQ_FOR_EACH_R(1, GET_MESSAGE_NAME, \ 3, BOOST_PP_CAT(PP_MSG_FILLER_0 seq, _END)) \ BOOST_PP_CAT(MAPNAME,_enum_last)} BOOST_PP_CAT(MAPNAME,Enum);\ \ static void BOOST_PP_CAT(register_,MAPNAME)() \ { \ static bool inited(false); \ if (!inited) \ { \ inited = true; \ BOOST_PP_SEQ_FOR_EACH_R(1, ADD_TO_MAP, \ MAPNAME, BOOST_PP_CAT(PP_MSG_FILLER_0 seq, _END))\ } \ }; \
Definition at line 50 of file message_preprocess.hpp.
#define GET_MESSAGE_NAME | ( | r, | |
data, | |||
elem | |||
) | BOOST_PP_TUPLE_ELEM(3,0,elem) = BOOST_PP_TUPLE_ELEM(3,1,elem), |
Definition at line 69 of file message_preprocess.hpp.
#define PP_MSG_FILLER_0 | ( | X1, | |
X2, | |||
X3 | |||
) | ((X1,X2,X3)) PP_MSG_FILLER_1 |
Definition at line 43 of file message_preprocess.hpp.
#define PP_MSG_FILLER_0_END |
Definition at line 47 of file message_preprocess.hpp.
#define PP_MSG_FILLER_1 | ( | X1, | |
X2, | |||
X3 | |||
) | ((X1,X2,X3)) PP_MSG_FILLER_0 |
Definition at line 45 of file message_preprocess.hpp.
#define PP_MSG_FILLER_1_END |
Definition at line 48 of file message_preprocess.hpp.