transform.hpp File Reference
`#include <msgpack/preprocessor/config/config.hpp>`
`#include <msgpack/preprocessor/list/fold_right.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_TRANSFORM(op, data, list) MSGPACK_PP_LIST_TRANSFORM_I(op, data, list)
#define | MSGPACK_PP_LIST_TRANSFORM_I(op, data, list) MSGPACK_PP_TUPLE_ELEM(3, 2, MSGPACK_PP_LIST_FOLD_RIGHT(MSGPACK_PP_LIST_TRANSFORM_O, (op, data, MSGPACK_PP_NIL), list))
#define | MSGPACK_PP_LIST_TRANSFORM_O(d, odr, elem) MSGPACK_PP_LIST_TRANSFORM_O_I(d, MSGPACK_PP_TUPLE_REM_3 odr, elem)
#define | MSGPACK_PP_LIST_TRANSFORM_O_I(d, im, elem) MSGPACK_PP_LIST_TRANSFORM_O_D(d, im, elem)
#define | MSGPACK_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))
#define | MSGPACK_PP_LIST_TRANSFORM_D(d, op, data, list) MSGPACK_PP_LIST_TRANSFORM_D_I(d, op, data, list)
#define | MSGPACK_PP_LIST_TRANSFORM_D_I(d, op, data, list) MSGPACK_PP_TUPLE_ELEM(3, 2, MSGPACK_PP_LIST_FOLD_RIGHT_ ## d(MSGPACK_PP_LIST_TRANSFORM_O, (op, data, MSGPACK_PP_NIL), list))

## Macro Definition Documentation

## MSGPACK_PP_LIST_TRANSFORM

#define MSGPACK_PP_LIST_TRANSFORM | ( |  | op,
|  |  | data,
|  |  | list
| ) |  | MSGPACK_PP_LIST_TRANSFORM_I(op, data, list)

## MSGPACK_PP_LIST_TRANSFORM_D

#define MSGPACK_PP_LIST_TRANSFORM_D | ( |  | d,
|  |  | op,
|  |  | data,
|  |  | list
| ) |  | MSGPACK_PP_LIST_TRANSFORM_D_I(d, op, data, list)

## MSGPACK_PP_LIST_TRANSFORM_D_I

#define MSGPACK_PP_LIST_TRANSFORM_D_I | ( |  | d,
|  |  | op,
|  |  | data,
|  |  | list
| ) |  | MSGPACK_PP_TUPLE_ELEM(3, 2, MSGPACK_PP_LIST_FOLD_RIGHT_ ## d(MSGPACK_PP_LIST_TRANSFORM_O, (op, data, MSGPACK_PP_NIL), list))

## MSGPACK_PP_LIST_TRANSFORM_I

#define MSGPACK_PP_LIST_TRANSFORM_I | ( |  | op,
|  |  | data,
|  |  | list
| ) |  | MSGPACK_PP_TUPLE_ELEM(3, 2, MSGPACK_PP_LIST_FOLD_RIGHT(MSGPACK_PP_LIST_TRANSFORM_O, (op, data, MSGPACK_PP_NIL), list))

## MSGPACK_PP_LIST_TRANSFORM_O

#define MSGPACK_PP_LIST_TRANSFORM_O | ( |  | d,
|  |  | odr,
|  |  | elem
| ) |  | MSGPACK_PP_LIST_TRANSFORM_O_I(d, MSGPACK_PP_TUPLE_REM_3 odr, elem)

## MSGPACK_PP_LIST_TRANSFORM_O_D

#define MSGPACK_PP_LIST_TRANSFORM_O_D | ( |  | d,
|  |  | op,
|  |  | data,
|  |  | res,
|  |  | elem
| ) |  | (op, data, (op(d, data, elem), res))

## MSGPACK_PP_LIST_TRANSFORM_O_I

#define MSGPACK_PP_LIST_TRANSFORM_O_I | ( |  | d,
|  |  | im,
|  |  | elem
| ) |  | MSGPACK_PP_LIST_TRANSFORM_O_D(d, im, elem)