size.hpp File Reference
`#include <msgpack/preprocessor/arithmetic/inc.hpp>`
`#include <msgpack/preprocessor/config/config.hpp>`
`#include <msgpack/preprocessor/control/while.hpp>`
`#include <msgpack/preprocessor/list/adt.hpp>`
`#include <msgpack/preprocessor/tuple/elem.hpp>`
`#include <msgpack/preprocessor/tuple/rem.hpp>`

Go to the source code of this file.

## Macros

#define | MSGPACK_PP_LIST_SIZE(list) MSGPACK_PP_LIST_SIZE_I(list)
#define | MSGPACK_PP_LIST_SIZE_I(list) MSGPACK_PP_TUPLE_ELEM(2, 0, MSGPACK_PP_WHILE(MSGPACK_PP_LIST_SIZE_P, MSGPACK_PP_LIST_SIZE_O, (0, list)))
#define | MSGPACK_PP_LIST_SIZE_P(d, rl) MSGPACK_PP_LIST_SIZE_P_I(MSGPACK_PP_TUPLE_REM_2 rl)
#define | MSGPACK_PP_LIST_SIZE_P_I(im) MSGPACK_PP_LIST_SIZE_P_II(im)
#define | MSGPACK_PP_LIST_SIZE_P_II(r, l) MSGPACK_PP_LIST_IS_CONS(l)
#define | MSGPACK_PP_LIST_SIZE_O(d, rl) MSGPACK_PP_LIST_SIZE_O_I(MSGPACK_PP_TUPLE_REM_2 rl)
#define | MSGPACK_PP_LIST_SIZE_O_I(im) MSGPACK_PP_LIST_SIZE_O_II(im)
#define | MSGPACK_PP_LIST_SIZE_O_II(r, l) (MSGPACK_PP_INC(r), MSGPACK_PP_LIST_REST(l))
#define | MSGPACK_PP_LIST_SIZE_D(d, list) MSGPACK_PP_LIST_SIZE_D_I(d, list)
#define | MSGPACK_PP_LIST_SIZE_D_I(d, list) MSGPACK_PP_TUPLE_ELEM(2, 0, MSGPACK_PP_WHILE_ ## d(MSGPACK_PP_LIST_SIZE_P, MSGPACK_PP_LIST_SIZE_O, (0, list)))

## Macro Definition Documentation

## MSGPACK_PP_LIST_SIZE

#define MSGPACK_PP_LIST_SIZE | ( |  | list | ) | MSGPACK_PP_LIST_SIZE_I(list)

## MSGPACK_PP_LIST_SIZE_D

#define MSGPACK_PP_LIST_SIZE_D | ( |  | d,
|  |  | list
| ) |  | MSGPACK_PP_LIST_SIZE_D_I(d, list)

## MSGPACK_PP_LIST_SIZE_D_I

#define MSGPACK_PP_LIST_SIZE_D_I | ( |  | d,
|  |  | list
| ) |  | MSGPACK_PP_TUPLE_ELEM(2, 0, MSGPACK_PP_WHILE_ ## d(MSGPACK_PP_LIST_SIZE_P, MSGPACK_PP_LIST_SIZE_O, (0, list)))

## MSGPACK_PP_LIST_SIZE_I

#define MSGPACK_PP_LIST_SIZE_I | ( |  | list | ) | MSGPACK_PP_TUPLE_ELEM(2, 0, MSGPACK_PP_WHILE(MSGPACK_PP_LIST_SIZE_P, MSGPACK_PP_LIST_SIZE_O, (0, list)))

## MSGPACK_PP_LIST_SIZE_O

#define MSGPACK_PP_LIST_SIZE_O | ( |  | d,
|  |  | rl
| ) |  | MSGPACK_PP_LIST_SIZE_O_I(MSGPACK_PP_TUPLE_REM_2 rl)

## MSGPACK_PP_LIST_SIZE_O_I

#define MSGPACK_PP_LIST_SIZE_O_I | ( |  | im | ) | MSGPACK_PP_LIST_SIZE_O_II(im)

## MSGPACK_PP_LIST_SIZE_O_II

#define MSGPACK_PP_LIST_SIZE_O_II | ( |  | r,
|  |  | l
| ) |  | (MSGPACK_PP_INC(r), MSGPACK_PP_LIST_REST(l))

## MSGPACK_PP_LIST_SIZE_P

#define MSGPACK_PP_LIST_SIZE_P | ( |  | d,
|  |  | rl
| ) |  | MSGPACK_PP_LIST_SIZE_P_I(MSGPACK_PP_TUPLE_REM_2 rl)

## MSGPACK_PP_LIST_SIZE_P_I

#define MSGPACK_PP_LIST_SIZE_P_I | ( |  | im | ) | MSGPACK_PP_LIST_SIZE_P_II(im)

## MSGPACK_PP_LIST_SIZE_P_II

#define MSGPACK_PP_LIST_SIZE_P_II | ( |  | r,
|  |  | l
| ) |  | MSGPACK_PP_LIST_IS_CONS(l)