MessagePack for C++
remove_parens.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_REMOVE_PARENS_HPP
13 #define MSGPACK_PREPROCESSOR_REMOVE_PARENS_HPP
14 
16 
17 #if MSGPACK_PP_VARIADICS
18 
23 
24 #define MSGPACK_PP_REMOVE_PARENS(param) \
25  MSGPACK_PP_IIF \
26  ( \
27  MSGPACK_PP_IS_BEGIN_PARENS(param), \
28  MSGPACK_PP_REMOVE_PARENS_DO, \
29  MSGPACK_PP_IDENTITY \
30  ) \
31  (param)() \
32 
33 
34 #define MSGPACK_PP_REMOVE_PARENS_DO(param) \
35  MSGPACK_PP_IDENTITY(MSGPACK_PP_TUPLE_ENUM(param)) \
36 
37 
38 #endif /* MSGPACK_PP_VARIADICS */
39 #endif /* MSGPACK_PREPROCESSOR_REMOVE_PARENS_HPP */