1
# /* **************************************************************************
3
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
4
# * modify, sell, and distribute this software is granted provided *
5
# * this copyright notice appears in all copies. This software is *
6
# * provided "as is" without express or implied warranty, and with *
7
# * no claim at to its suitability for any purpose. *
9
# ************************************************************************** */
11
# /* See http://www.boost.org for most recent version. */
13
# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP
14
# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP
16
# include <boost/preprocessor/config/config.hpp>
17
# include <boost/preprocessor/seq/elem.hpp>
19
# /* BOOST_PP_SEQ_HEAD */
21
# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)
23
# /* BOOST_PP_SEQ_TAIL */
25
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
26
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))
27
# define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par
28
# define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq
29
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
30
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)
31
# define BOOST_PP_SEQ_TAIL_ID(id) id
32
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
33
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)
34
# define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq
36
# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq
39
# define BOOST_PP_SEQ_TAIL_I(x)
41
# /* BOOST_PP_SEQ_NIL */
43
# define BOOST_PP_SEQ_NIL(x) (x)