MessagePack for C++
is_empty.hpp
Go to the documentation of this file.
1 # /* **************************************************************************
2 # * *
3 # * (C) Copyright Edward Diener 2015.
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_SEQ_DETAIL_IS_EMPTY_HPP
13 # define MSGPACK_PREPROCESSOR_SEQ_DETAIL_IS_EMPTY_HPP
14 #
20 #
21 /* An empty seq is one that is just MSGPACK_PP_SEQ_NIL */
22 #
23 # define MSGPACK_PP_SEQ_DETAIL_IS_EMPTY(seq) \
24  MSGPACK_PP_COMPL \
25  ( \
26  MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \
27  ) \
28 
29 #
30 # define MSGPACK_PP_SEQ_DETAIL_IS_EMPTY_SIZE(size) \
31  MSGPACK_PP_COMPL \
32  ( \
33  MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \
34  ) \
35 
36 #
37 # define MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \
38  MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq)) \
39 
40 #
41 # define MSGPACK_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \
42  MSGPACK_PP_BOOL(size) \
43 
44 #
45 # define MSGPACK_PP_SEQ_DETAIL_EMPTY_SIZE(seq) \
46  MSGPACK_PP_DEC(MSGPACK_PP_SEQ_SIZE(seq (nil))) \
47 
48 #
49 # endif