blob: b372d6a8b03f497e5bcf16ba03d37048ad8f5ef8 [file] [log] [blame]
Jeff Thompsonef2d5a42013-08-22 19:09:24 -07001// 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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070011#ifndef NDNBOOST_RANGE_CONFIG_HPP
12#define NDNBOOST_RANGE_CONFIG_HPP
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070013
14#include <ndnboost/detail/workaround.hpp>
15
16#if defined(_MSC_VER) && (_MSC_VER >= 1200)
17# pragma once
18#endif
19
20#include <ndnboost/config.hpp>
21
Jeff Thompson3d613fd2013-10-15 15:39:04 -070022#ifdef NDNBOOST_RANGE_DEDUCED_TYPENAME
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070023#error "macro already defined!"
24#endif
25
Jeff Thompson3d613fd2013-10-15 15:39:04 -070026#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
27# define NDNBOOST_RANGE_DEDUCED_TYPENAME typename
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070028#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070029# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
30# define NDNBOOST_RANGE_DEDUCED_TYPENAME typename
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070031# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070032# define NDNBOOST_RANGE_DEDUCED_TYPENAME NDNBOOST_DEDUCED_TYPENAME
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070033# endif
34#endif
35
Jeff Thompson3d613fd2013-10-15 15:39:04 -070036#ifdef NDNBOOST_RANGE_NO_ARRAY_SUPPORT
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070037#error "macro already defined!"
38#endif
39
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040#if NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1300 ) || NDNBOOST_WORKAROUND( __MWERKS__, <= 0x3003 )
41#define NDNBOOST_RANGE_NO_ARRAY_SUPPORT 1
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070042#endif
43
Jeff Thompson3d613fd2013-10-15 15:39:04 -070044#ifdef NDNBOOST_RANGE_NO_ARRAY_SUPPORT
45#define NDNBOOST_RANGE_ARRAY_REF() (boost_range_array)
46#define NDNBOOST_RANGE_NO_STATIC_ASSERT
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070047#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -070048#define NDNBOOST_RANGE_ARRAY_REF() (&boost_range_array)
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070049#endif
50
51
52
53#endif
54