MessagePack for C++
Macros
versioning.hpp File Reference
#include "msgpack/cpp_version.hpp"
Include dependency graph for versioning.hpp:

Go to the source code of this file.

Macros

#define MSGPACK_DEFAULT_API_VERSION   3
 
#define MSGPACK_DEFAULT_API_NS   MSGPACK_DETAIL_PP_CAT(v, MSGPACK_DEFAULT_API_VERSION)
 
#define MSGPACK_DETAIL_PP_ENABLE_NS_v3   ()
 
#define MSGPACK_DETAIL_PP_CAT(a, ...)   MSGPACK_DETAIL_PP_PRIMITIVE_CAT(a, __VA_ARGS__)
 
#define MSGPACK_DETAIL_PP_PRIMITIVE_CAT(a, ...)   a ## __VA_ARGS__
 
#define MSGPACK_DETAIL_PP_IIF(c)   MSGPACK_DETAIL_PP_PRIMITIVE_CAT(MSGPACK_DETAIL_PP_IIF_, c)
 
#define MSGPACK_DETAIL_PP_IIF_0(t, ...)   __VA_ARGS__
 
#define MSGPACK_DETAIL_PP_IIF_1(t, ...)   t
 
#define MSGPACK_DETAIL_PP_PROBE(x)   x, 1
 
#define MSGPACK_DETAIL_PP_CHECK(...)   MSGPACK_DETAIL_PP_CHECK_N(__VA_ARGS__, 0, 0)
 
#define MSGPACK_DETAIL_PP_CHECK_N(x, n, ...)   n
 
#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE(ns)   MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PROXY( MSGPACK_DETAIL_PP_ENABLE_NS_##ns )
 
#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PROXY(...)   MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PRIMIVIE(__VA_ARGS__)
 
#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PRIMIVIE(x)   MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_COMBINE_ x
 
#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_COMBINE_(...)   MSGPACK_DETAIL_PP_PROBE(~)
 
#define MSGPACK_DETAIL_PP_IS_NS_ENABLED(ns)   MSGPACK_DETAIL_PP_CHECK(MSGPACK_DETAIL_PP_NS_ENABLED_PROBE(ns))
 
#define MSGPACK_API_VERSION_NAMESPACE(ns)
 

Macro Definition Documentation

◆ MSGPACK_API_VERSION_NAMESPACE

#define MSGPACK_API_VERSION_NAMESPACE (   ns)
Value:
(inline namespace ns, namespace ns)
#define MSGPACK_DETAIL_PP_IS_NS_ENABLED(ns)
Definition: versioning.hpp:59
#define MSGPACK_DETAIL_PP_IIF(c)
Definition: versioning.hpp:34

◆ MSGPACK_DEFAULT_API_NS

#define MSGPACK_DEFAULT_API_NS   MSGPACK_DETAIL_PP_CAT(v, MSGPACK_DEFAULT_API_VERSION)

◆ MSGPACK_DEFAULT_API_VERSION

#define MSGPACK_DEFAULT_API_VERSION   3

◆ MSGPACK_DETAIL_PP_CAT

#define MSGPACK_DETAIL_PP_CAT (   a,
  ... 
)    MSGPACK_DETAIL_PP_PRIMITIVE_CAT(a, __VA_ARGS__)

◆ MSGPACK_DETAIL_PP_CHECK

#define MSGPACK_DETAIL_PP_CHECK (   ...)    MSGPACK_DETAIL_PP_CHECK_N(__VA_ARGS__, 0, 0)

◆ MSGPACK_DETAIL_PP_CHECK_N

#define MSGPACK_DETAIL_PP_CHECK_N (   x,
  n,
  ... 
)    n

◆ MSGPACK_DETAIL_PP_ENABLE_NS_v3

#define MSGPACK_DETAIL_PP_ENABLE_NS_v3   ()

◆ MSGPACK_DETAIL_PP_IIF

#define MSGPACK_DETAIL_PP_IIF (   c)    MSGPACK_DETAIL_PP_PRIMITIVE_CAT(MSGPACK_DETAIL_PP_IIF_, c)

◆ MSGPACK_DETAIL_PP_IIF_0

#define MSGPACK_DETAIL_PP_IIF_0 (   t,
  ... 
)    __VA_ARGS__

◆ MSGPACK_DETAIL_PP_IIF_1

#define MSGPACK_DETAIL_PP_IIF_1 (   t,
  ... 
)    t

◆ MSGPACK_DETAIL_PP_IS_NS_ENABLED

#define MSGPACK_DETAIL_PP_IS_NS_ENABLED (   ns)    MSGPACK_DETAIL_PP_CHECK(MSGPACK_DETAIL_PP_NS_ENABLED_PROBE(ns))

◆ MSGPACK_DETAIL_PP_NS_ENABLED_PROBE

#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE (   ns)    MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PROXY( MSGPACK_DETAIL_PP_ENABLE_NS_##ns )

◆ MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_COMBINE_

#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_COMBINE_ (   ...)    MSGPACK_DETAIL_PP_PROBE(~)

◆ MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PRIMIVIE

#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PRIMIVIE (   x)    MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_COMBINE_ x

◆ MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PROXY

#define MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PROXY (   ...)    MSGPACK_DETAIL_PP_NS_ENABLED_PROBE_PRIMIVIE(__VA_ARGS__)

◆ MSGPACK_DETAIL_PP_PRIMITIVE_CAT

#define MSGPACK_DETAIL_PP_PRIMITIVE_CAT (   a,
  ... 
)    a ## __VA_ARGS__

◆ MSGPACK_DETAIL_PP_PROBE

#define MSGPACK_DETAIL_PP_PROBE (   x)    x, 1