1# /* **************************************************************************
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#
13# ifndef BOOST_PREPROCESSOR_TUPLE_SIZE_HPP
14# define BOOST_PREPROCESSOR_TUPLE_SIZE_HPP
15#
16# include <boost/preprocessor/cat.hpp>
17# include <boost/preprocessor/config/config.hpp>
18# include <boost/preprocessor/variadic/size.hpp>
19#
20# if BOOST_PP_VARIADICS
21# if BOOST_PP_VARIADICS_MSVC
22# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,)
23# else
24# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple
25# endif
26# endif
27#
28# endif
29

source code of boost/boost/preprocessor/tuple/size.hpp