rolled back the removal of the iterator_adaptor alternate code,

added the graph test file


[SVN r7851]
This commit is contained in:
Jeremy Siek
2000-09-26 22:09:34 +00:00
parent 50c9214b82
commit 24c3beb791

View File

@ -13,13 +13,22 @@
#ifndef BOOST_INTEGER_RANGE_HPP_
#define BOOST_INTEGER_RANGE_HPP_
#if !defined(BOOST_MSVC) || defined(__SGI_STL_PORT)
#define BOOST_USE_ITERATOR_ADAPTORS
#endif
#ifdef BOOST_USE_ITERATOR_ADAPTORS
#include <boost/pending/iterator_adaptors.hpp>
#else
#include <boost/pending/detail/int_iterator.hpp>
#endif
namespace boost {
//=============================================================================
// Counting Iterator and Integer Range Class
#ifdef BOOST_USE_ITERATOR_ADAPTORS
struct counting_iterator_policies : public default_iterator_policies
{
template <class IntegerType>
@ -34,11 +43,16 @@ struct counting_iterator_traits {
typedef std::ptrdiff_t difference_type;
typedef std::random_access_iterator_tag iterator_category;
};
#endif
template <class IntegerType>
struct integer_range {
#ifdef BOOST_USE_ITERATOR_ADAPTORS
typedef iterator_adaptor<IntegerType, counting_iterator_policies,
counting_iterator_traits<IntegerType>, IntegerType> iterator;
#else
typedef int_iterator<IntegerType> iterator;
#endif
typedef iterator const_iterator;
typedef IntegerType value_type;
@ -66,4 +80,8 @@ protected:
} // namespace boost
#ifdef BOOST_USE_ITERATOR_ADAPTORS
#undef BOOST_USE_ITERATOR_ADAPTORS
#endif
#endif // BOOST_INTEGER_RANGE_HPP_