Chris@16: // Boost.Range library Chris@16: // Chris@16: // Copyright Thorsten Ottosen 2003-2004. Use, modification and Chris@16: // distribution is subject to the Boost Software License, Version Chris@16: // 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Chris@16: // For more information, see http://www.boost.org/libs/range/ Chris@16: // Chris@16: Chris@16: #ifndef BOOST_RANGE_CONFIG_HPP Chris@16: #define BOOST_RANGE_CONFIG_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: #if defined(_MSC_VER) && (_MSC_VER >= 1200) Chris@16: # pragma once Chris@16: #endif Chris@16: Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_RANGE_DEDUCED_TYPENAME Chris@16: #error "macro already defined!" Chris@16: #endif Chris@16: Chris@16: #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) Chris@16: # define BOOST_RANGE_DEDUCED_TYPENAME typename Chris@16: #else Chris@16: # if BOOST_WORKAROUND(BOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS) Chris@16: # define BOOST_RANGE_DEDUCED_TYPENAME typename Chris@16: # else Chris@16: # define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME Chris@16: # endif Chris@16: #endif Chris@16: Chris@16: #ifdef BOOST_RANGE_NO_ARRAY_SUPPORT Chris@16: #error "macro already defined!" Chris@16: #endif Chris@16: Chris@16: #if BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) || BOOST_WORKAROUND( __MWERKS__, <= 0x3003 ) Chris@16: #define BOOST_RANGE_NO_ARRAY_SUPPORT 1 Chris@16: #endif Chris@16: Chris@16: #ifdef BOOST_RANGE_NO_ARRAY_SUPPORT Chris@16: #define BOOST_RANGE_ARRAY_REF() (boost_range_array) Chris@16: #define BOOST_RANGE_NO_STATIC_ASSERT Chris@16: #else Chris@16: #define BOOST_RANGE_ARRAY_REF() (&boost_range_array) Chris@16: #endif Chris@16: Chris@16: Chris@16: Chris@16: #endif Chris@16: