MessagePack for C++
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack
preprocessor
facilities
detail
is_empty.hpp
Go to the documentation of this file.
1
#
/* **************************************************************************
2
# * *
3
# * (C) Copyright Edward Diener 2014.
4
# * Distributed under the Boost Software License, Version 1.0. (See
5
# * accompanying file LICENSE_1_0.txt or copy at
6
# * http://www.boost.org/LICENSE_1_0.txt)
7
# * *
8
# ************************************************************************** */
9
#
10
#
/* See http://www.boost.org for most recent version. */
11
#
12
#ifndef MSGPACK_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
13
#define MSGPACK_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
14
15
#include <
msgpack/preprocessor/punctuation/is_begin_parens.hpp
>
16
17
#if MSGPACK_PP_VARIADICS_MSVC
18
19
# pragma warning(once:4002)
20
21
#define MSGPACK_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b
22
#define MSGPACK_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t
23
24
#else
25
26
#define MSGPACK_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__
27
#define MSGPACK_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t
28
29
#endif
30
31
#if MSGPACK_PP_VARIADICS_MSVC && _MSC_VER <= 1400
32
33
#define MSGPACK_PP_DETAIL_IS_EMPTY_PROCESS(param) \
34
MSGPACK_PP_IS_BEGIN_PARENS \
35
( \
36
MSGPACK_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \
37
) \
38
/**/
39
40
#else
41
42
#define MSGPACK_PP_DETAIL_IS_EMPTY_PROCESS(...) \
43
MSGPACK_PP_IS_BEGIN_PARENS \
44
( \
45
MSGPACK_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \
46
) \
47
/**/
48
49
#endif
50
51
#define MSGPACK_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
52
#define MSGPACK_PP_DETAIL_IS_EMPTY_IIF(bit) MSGPACK_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(MSGPACK_PP_DETAIL_IS_EMPTY_IIF_,bit)
53
#define MSGPACK_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) ()
54
55
#endif
/* MSGPACK_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */
is_begin_parens.hpp
Generated by
1.17.0