~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/preprocessor/facilities/apply.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# /* **************************************************************************
 
2
#  *                                                                          *
 
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.                      *
 
8
#  *                                                                          *
 
9
#  ************************************************************************** */
 
10
#
 
11
# /* See http://www.boost.org for most recent version. */
 
12
#
 
13
# ifndef BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
 
14
# define BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
 
15
#
 
16
# include <boost/preprocessor/config/config.hpp>
 
17
# include <boost/preprocessor/control/expr_iif.hpp>
 
18
# include <boost/preprocessor/detail/is_unary.hpp>
 
19
# include <boost/preprocessor/tuple/rem.hpp>
 
20
#
 
21
# /* BOOST_PP_APPLY */
 
22
#
 
23
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
 
24
#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
 
25
#    define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
 
26
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
 
27
#    define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
 
28
#    define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x
 
29
#    define BOOST_PP_APPLY_(x) x
 
30
#    define BOOST_PP_APPLY_BOOST_PP_NIL
 
31
# else
 
32
#    define BOOST_PP_APPLY(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
 
33
# endif
 
34
#
 
35
# endif