blob: 3dcbcc5f0528c813a008b21a88a770da657634e4 [file] [log] [blame]
Jeff Thompson86b6d642013-10-17 15:01:56 -07001// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2// (C) Copyright 2003-2007 Jonathan Turkanis
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
5
6// See http://www.boost.org/libs/iostreams for documentation.
7
8#ifndef NDNBOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED
9#define NDNBOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED
10
11#include <ndnboost/config.hpp>
12#include <ndnboost/detail/workaround.hpp>
13#include <ndnboost/iostreams/detail/bool_trait_def.hpp>
14
15// Must come last.
16#include <ndnboost/iostreams/detail/config/disable_warnings.hpp>
17
18namespace ndnboost {
19
20# if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) //---------------------------------//
21
22// We avoid dependence on Boost.Range by using a forward declaration.
23template<typename Iterator>
24class iterator_range;
25
26namespace iostreams {
27
28NDNBOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iterator_range, ndnboost::iterator_range, 1)
29
30} // End namespace iostreams.
31
32# else // # if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) //-----------------------//
33
34namespace iostreams {
35
36 template<typename T>
37 struct is_iterator_range {
38 NDNBOOST_STATIC_CONSTANT(bool, value = false);
39 };
40
41} // End namespace iostreams.
42
43# endif // # if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) //----------------------//
44
45} // End namespace ndnboost.
46
47#include <ndnboost/iostreams/detail/config/enable_warnings.hpp>
48
49#endif // #ifndef NDNBOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED