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@101: #if defined(_MSC_VER) 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@101: #define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME 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@101: #if 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@101: #if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) Chris@101: # define BOOST_RANGE_UNUSED __attribute__((unused)) Chris@101: #else Chris@101: # define BOOST_RANGE_UNUSED Chris@101: #endif Chris@101: Chris@16: Chris@16: Chris@16: #endif Chris@16: