mirror of
https://github.com/boostorg/iterator.git
synced 2026-01-22 05:12:50 +00:00
Compare commits
32 Commits
svn-branch
...
svn-branch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
597229b10b | ||
|
|
2e74e298c8 | ||
|
|
79c6d11694 | ||
|
|
d5443d7fe2 | ||
|
|
41be2127df | ||
|
|
3fd1c4bc5d | ||
|
|
2d6f48d5ab | ||
|
|
d1c7594344 | ||
|
|
ac327f51e9 | ||
|
|
4e18b11263 | ||
|
|
81e3df2b36 | ||
|
|
ac05307515 | ||
|
|
552a1e6785 | ||
|
|
134b8b51aa | ||
|
|
efecfd17b9 | ||
|
|
799158841e | ||
|
|
582ebfd054 | ||
|
|
42e4db1539 | ||
|
|
d7023154a3 | ||
|
|
9582b2223c | ||
|
|
d7908fb81f | ||
|
|
e48cdcb94f | ||
|
|
0846ad5fd0 | ||
|
|
84663ff2e2 | ||
|
|
6de1934420 | ||
|
|
a110b9fd27 | ||
|
|
eb06c122d1 | ||
|
|
cbbe851adb | ||
|
|
f6cc2e520f | ||
|
|
4e29b5aa29 | ||
|
|
d924f56ad8 | ||
|
|
f27fd095f7 |
@@ -135,7 +135,15 @@ namespace detail {
|
||||
// For a while, this wasn't true, but we rely on it below. This is a regression assert.
|
||||
BOOST_STATIC_ASSERT(::boost::is_integral<char>::value);
|
||||
# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);
|
||||
# if defined(ULLONG_MAX) || defined(ULONG_LONG_MAX)
|
||||
BOOST_STATIC_CONSTANT(bool,
|
||||
value = (
|
||||
std::numeric_limits<T>::is_specialized
|
||||
| boost::is_same<T,long long>::value
|
||||
| boost::is_same<T,unsigned long long>::value));
|
||||
# else
|
||||
BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);
|
||||
# endif
|
||||
# else
|
||||
# if !defined(__BORLANDC__)
|
||||
BOOST_STATIC_CONSTANT(bool, value = (
|
||||
@@ -173,14 +181,17 @@ struct counting_iterator_traits {
|
||||
template <class Incrementable>
|
||||
struct counting_iterator_policies : public default_iterator_policies
|
||||
{
|
||||
const Incrementable& dereference(type<const Incrementable&>, const Incrementable& i) const
|
||||
{ return i; }
|
||||
|
||||
template <class Difference, class Iterator1, class Iterator2>
|
||||
Difference distance(type<Difference>, const Iterator1& x,
|
||||
const Iterator2& y) const
|
||||
template <class IteratorAdaptor>
|
||||
typename IteratorAdaptor::reference dereference(const IteratorAdaptor& i) const
|
||||
{ return i.base(); }
|
||||
|
||||
template <class Iterator1, class Iterator2>
|
||||
typename Iterator1::difference_type distance(
|
||||
const Iterator1& x, const Iterator2& y) const
|
||||
{
|
||||
return boost::detail::any_distance<Difference>(x, y);//,(Difference*)());
|
||||
typedef typename Iterator1::difference_type difference_type;
|
||||
return boost::detail::any_distance<difference_type>(
|
||||
x.base(), y.base());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -194,9 +205,9 @@ struct counting_iterator_generator
|
||||
counting_iterator_policies<Incrementable>,
|
||||
Incrementable,
|
||||
const Incrementable&,
|
||||
const Incrementable*,
|
||||
typename traits::iterator_category,
|
||||
typename traits::difference_type,
|
||||
const Incrementable*
|
||||
typename traits::difference_type
|
||||
> type;
|
||||
};
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user