1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/preprocessor/list/adt.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,73 @@
1.4 +# /* Copyright (C) 2001
1.5 +# * Housemarque Oy
1.6 +# * http://www.housemarque.com
1.7 +# *
1.8 +# * Distributed under the Boost Software License, Version 1.0. (See
1.9 +# * accompanying file LICENSE_1_0.txt or copy at
1.10 +# * http://www.boost.org/LICENSE_1_0.txt)
1.11 +# *
1.12 +# * See http://www.boost.org for most recent version.
1.13 +# */
1.14 +#
1.15 +# /* Revised by Paul Mensonides (2002) */
1.16 +#
1.17 +# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP
1.18 +# define BOOST_PREPROCESSOR_LIST_ADT_HPP
1.19 +#
1.20 +# include <boost/preprocessor/config/config.hpp>
1.21 +# include <boost/preprocessor/detail/is_binary.hpp>
1.22 +# include <boost/preprocessor/logical/compl.hpp>
1.23 +# include <boost/preprocessor/tuple/eat.hpp>
1.24 +#
1.25 +# /* BOOST_PP_LIST_CONS */
1.26 +#
1.27 +# define BOOST_PP_LIST_CONS(head, tail) (head, tail)
1.28 +#
1.29 +# /* BOOST_PP_LIST_NIL */
1.30 +#
1.31 +# define BOOST_PP_LIST_NIL BOOST_PP_NIL
1.32 +#
1.33 +# /* BOOST_PP_LIST_FIRST */
1.34 +#
1.35 +# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)
1.36 +#
1.37 +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
1.38 +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list
1.39 +# else
1.40 +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list
1.41 +# endif
1.42 +#
1.43 +# define BOOST_PP_LIST_FIRST_I(head, tail) head
1.44 +#
1.45 +# /* BOOST_PP_LIST_REST */
1.46 +#
1.47 +# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)
1.48 +#
1.49 +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
1.50 +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list
1.51 +# else
1.52 +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list
1.53 +# endif
1.54 +#
1.55 +# define BOOST_PP_LIST_REST_I(head, tail) tail
1.56 +#
1.57 +# /* BOOST_PP_LIST_IS_CONS */
1.58 +#
1.59 +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
1.60 +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list)
1.61 +# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list
1.62 +# define BOOST_PP_LIST_IS_CONS_(head, tail) 1
1.63 +# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0
1.64 +# else
1.65 +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)
1.66 +# endif
1.67 +#
1.68 +# /* BOOST_PP_LIST_IS_NIL */
1.69 +#
1.70 +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
1.71 +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))
1.72 +# else
1.73 +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list))
1.74 +# endif
1.75 +#
1.76 +# endif