messagepack implementation for embedded systems (mbed / arduino)

Dependents:   hello_message_pack

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers is_empty_variadic.hpp Source File

is_empty_variadic.hpp

00001 # /* **************************************************************************
00002 #  *                                                                          *
00003 #  *     (C) Copyright Edward Diener 2014.
00004 #  *     Distributed under the Boost Software License, Version 1.0. (See
00005 #  *     accompanying file LICENSE_1_0.txt or copy at
00006 #  *     http://www.boost.org/LICENSE_1_0.txt)
00007 #  *                                                                          *
00008 #  ************************************************************************** */
00009 #
00010 # /* See http://www.boost.org for most recent version. */
00011 #
00012 # ifndef MSGPACK_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP
00013 # define MSGPACK_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP
00014 #
00015 # include <msgpack/preprocessor/config/config.hpp>
00016 #
00017 # if MSGPACK_PP_VARIADICS
00018 #
00019 # include <msgpack/preprocessor/punctuation/is_begin_parens.hpp>
00020 # include <msgpack/preprocessor/facilities/detail/is_empty.hpp>
00021 #
00022 #if MSGPACK_PP_VARIADICS_MSVC && _MSC_VER <= 1400
00023 #
00024 #define MSGPACK_PP_IS_EMPTY(param) \
00025     MSGPACK_PP_DETAIL_IS_EMPTY_IIF \
00026       ( \
00027       MSGPACK_PP_IS_BEGIN_PARENS \
00028         ( \
00029         param \
00030         ) \
00031       ) \
00032       ( \
00033       MSGPACK_PP_IS_EMPTY_ZERO, \
00034       MSGPACK_PP_DETAIL_IS_EMPTY_PROCESS \
00035       ) \
00036     (param) \
00037 /**/
00038 #define MSGPACK_PP_IS_EMPTY_ZERO(param) 0
00039 # else
00040 #define MSGPACK_PP_IS_EMPTY(...) \
00041     MSGPACK_PP_DETAIL_IS_EMPTY_IIF \
00042       ( \
00043       MSGPACK_PP_IS_BEGIN_PARENS \
00044         ( \
00045         __VA_ARGS__ \
00046         ) \
00047       ) \
00048       ( \
00049       MSGPACK_PP_IS_EMPTY_ZERO, \
00050       MSGPACK_PP_DETAIL_IS_EMPTY_PROCESS \
00051       ) \
00052     (__VA_ARGS__) \
00053 /**/
00054 #define MSGPACK_PP_IS_EMPTY_ZERO(...) 0
00055 # endif /* MSGPACK_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
00056 # endif /* MSGPACK_PP_VARIADICS */
00057 # endif /* MSGPACK_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */