os/ossrv/ossrv_pub/boost_apis/boost/mpl/or.hpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 
     2 #ifndef BOOST_MPL_OR_HPP_INCLUDED
     3 #define BOOST_MPL_OR_HPP_INCLUDED
     4 
     5 // Copyright Aleksey Gurtovoy 2000-2004
     6 //
     7 // Distributed under the Boost Software License, Version 1.0. 
     8 // (See accompanying file LICENSE_1_0.txt or copy at 
     9 // http://www.boost.org/LICENSE_1_0.txt)
    10 //
    11 // See http://www.boost.org/libs/mpl for documentation.
    12 
    13 // $Source: /cvsroot/boost/boost/boost/mpl/or.hpp,v $
    14 // $Date: 2004/09/02 15:40:42 $
    15 // $Revision: 1.4 $
    16 
    17 #include <boost/mpl/aux_/config/use_preprocessed.hpp>
    18 
    19 #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
    20     && !defined(BOOST_MPL_PREPROCESSING_MODE)
    21 
    22 #   include <boost/mpl/bool.hpp>
    23 #   include <boost/mpl/aux_/nested_type_wknd.hpp>
    24 #   include <boost/mpl/aux_/na_spec.hpp>
    25 #   include <boost/mpl/aux_/lambda_support.hpp>
    26 #   include <boost/mpl/aux_/config/msvc.hpp>
    27 
    28 // agurt, 19/may/04: workaround a conflict with <iso646.h> header's 
    29 // 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'
    30 // has to be checked in a separate condition, otherwise GCC complains 
    31 // about 'or' being an alternative token
    32 #if defined(_MSC_VER)
    33 #if defined(or)
    34 #   pragma push_macro("or")
    35 #   undef or
    36 #   define or(x)
    37 #endif
    38 #endif
    39 
    40 #   define BOOST_MPL_PREPROCESSED_HEADER or.hpp
    41 #   include <boost/mpl/aux_/include_preprocessed.hpp>
    42 
    43 #if defined(_MSC_VER) 
    44 #if defined(or)
    45 #   pragma pop_macro("or")
    46 #endif
    47 #endif
    48 
    49 #else
    50 
    51 #   define AUX778076_OP_NAME or_
    52 #   define AUX778076_OP_VALUE1 true
    53 #   define AUX778076_OP_VALUE2 false
    54 #   include <boost/mpl/aux_/logical_op.hpp>
    55 
    56 #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
    57 #endif // BOOST_MPL_OR_HPP_INCLUDED