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

« back to all changes in this revision

Viewing changes to boost/boost/preprocessor/detail/check.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_DETAIL_CHECK_HPP
 
14
# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
 
15
#
 
16
# include <boost/preprocessor/cat.hpp>
 
17
# include <boost/preprocessor/config/config.hpp>
 
18
#
 
19
# /* BOOST_PP_CHECK */
 
20
#
 
21
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
 
22
#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
 
23
# else
 
24
#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
 
25
#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
 
26
# endif
 
27
#
 
28
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
 
29
#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
 
30
#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
 
31
#    define BOOST_PP_CHECK_2(res, _) res
 
32
# else
 
33
#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
 
34
#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
 
35
#    define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
 
36
#    define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
 
37
#    define BOOST_PP_CHECK_4(res, _) res
 
38
#    define BOOST_PP_CHECK_5(res) res
 
39
# endif
 
40
#
 
41
# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
 
42
#
 
43
# endif