os/ossrv/ossrv_pub/boost_apis/boost/range/config.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 // Boost.Range library
     2 //
     3 //  Copyright Thorsten Ottosen 2003-2004. Use, modification and
     4 //  distribution is subject to the Boost Software License, Version
     5 //  1.0. (See accompanying file LICENSE_1_0.txt or copy at
     6 //  http://www.boost.org/LICENSE_1_0.txt)
     7 //
     8 // For more information, see http://www.boost.org/libs/range/
     9 //
    10 
    11 #ifndef BOOST_RANGE_CONFIG_HPP
    12 #define BOOST_RANGE_CONFIG_HPP
    13 
    14 #include <boost/detail/workaround.hpp>
    15 
    16 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
    17 # pragma once
    18 #endif
    19 
    20 #include <boost/config.hpp>
    21 
    22 #ifdef BOOST_RANGE_DEDUCED_TYPENAME
    23 #error "macro already defined!"
    24 #endif
    25 
    26 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
    27 # define BOOST_RANGE_DEDUCED_TYPENAME typename
    28 #else
    29 # if BOOST_WORKAROUND(BOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
    30 #  define BOOST_RANGE_DEDUCED_TYPENAME typename
    31 # else
    32 #  define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME
    33 # endif
    34 #endif
    35 
    36 #ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
    37 #error "macro already defined!"
    38 #endif
    39 
    40 //#if BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) || __MWERKS__ <= 0x3003
    41 #if _MSC_VER <= 1300 && !defined( __COMO__ ) && !defined( __GNUC__ ) && __MWERKS__ <= 0x3003
    42 #define BOOST_RANGE_NO_ARRAY_SUPPORT 1
    43 #endif
    44 
    45 #ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
    46 #define BOOST_RANGE_ARRAY_REF() (boost_range_array)
    47 #define BOOST_RANGE_NO_STATIC_ASSERT
    48 #else
    49 #define BOOST_RANGE_ARRAY_REF() (&boost_range_array)
    50 #endif
    51 
    52 
    53 
    54 #endif
    55