blob: 4034a1c31953a8c20ebe74d81f21f7e35d9eca54 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001# /* **************************************************************************
2# * *
3# * (C) Copyright Edward Diener 2011. *
4# * (C) Copyright Paul Mensonides 2011. *
5# * Distributed under the Boost Software License, Version 1.0. (See *
6# * accompanying file LICENSE_1_0.txt or copy at *
7# * http://www.boost.org/LICENSE_1_0.txt) *
8# * *
9# ************************************************************************** */
10#
11# /* See http://www.boost.org for most recent version. */
12#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070013# ifndef NDNBOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
14# define NDNBOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
Jeff Thompsonf7d49942013-08-01 16:47:40 -070015#
Jeff Thompson2277ce52013-08-01 17:34:11 -070016# include <ndnboost/preprocessor/cat.hpp>
17# include <ndnboost/preprocessor/config/config.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070018#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070019# /* NDNBOOST_PP_VARIADIC_SIZE */
Jeff Thompsonf7d49942013-08-01 16:47:40 -070020#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070021# if NDNBOOST_PP_VARIADICS
22# if NDNBOOST_PP_VARIADICS_MSVC
23# define NDNBOOST_PP_VARIADIC_SIZE(...) NDNBOOST_PP_CAT(NDNBOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070024# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070025# define NDNBOOST_PP_VARIADIC_SIZE(...) NDNBOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070026# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027# define NDNBOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
Jeff Thompsonf7d49942013-08-01 16:47:40 -070028# endif
29#
30# endif