Compare commits

..

32 Commits

Author SHA1 Message Date
Jeremy Siek
597229b10b *** empty log message ***
[SVN r11537]
2001-11-02 20:12:01 +00:00
Jeremy Siek
2e74e298c8 towards a fix
[SVN r11536]
2001-11-02 17:19:18 +00:00
Jeremy Siek
79c6d11694 changed named parameters, still need to add suppose for no template part. spec.
[SVN r11416]
2001-10-21 16:37:25 +00:00
Dave Abrahams
d5443d7fe2 removed less() function from policies
policies now operate on whole adaptors rather than Base types


[SVN r11377]
2001-10-12 21:58:50 +00:00
nobody
41be2127df This commit was manufactured by cvs2svn to create branch
'iterator_adaptor_update'.

[SVN r11341]
2001-10-04 21:02:13 +00:00
Jeremy Siek
3fd1c4bc5d Changed projection_iterator to not rely on the default reference,
working around a limitation of detail::iterator_traits


[SVN r11340]
2001-10-04 21:02:12 +00:00
Dave Abrahams
2d6f48d5ab Applied indirect_iterator patch from George A. Heintzelman <georgeh@aya.yale.edu>
Changed name of "bind" to "select" to avoid problems with MSVC.


[SVN r11337]
2001-10-04 19:36:28 +00:00
Dave Abrahams
d1c7594344 Added borland bug fix
[SVN r11290]
2001-09-27 00:26:01 +00:00
John Maddock
ac327f51e9 commit of split-config, including any changes required to existing libraries (mainly regex).
[SVN r11138]
2001-09-18 11:13:39 +00:00
Jeremy Siek
4e18b11263 metrowerks fix for decrement()
[SVN r10997]
2001-09-03 15:38:05 +00:00
Jeremy Siek
81e3df2b36 changed _MSC_VER to BOOST_MSVC
[SVN r10705]
2001-07-25 19:38:41 +00:00
Jeremy Siek
ac05307515 added "Traversal" to the names
[SVN r10297]
2001-06-08 17:05:37 +00:00
Jeremy Siek
552a1e6785 replaced by iterator_categories.htm
[SVN r10296]
2001-06-08 16:58:44 +00:00
Jeremy Siek
134b8b51aa updated
[SVN r10295]
2001-06-08 15:37:16 +00:00
Jeremy Siek
efecfd17b9 updated to match working group paper
[SVN r10294]
2001-06-08 15:36:30 +00:00
Jeremy Siek
799158841e this is the original
[SVN r10293]
2001-06-08 15:17:14 +00:00
Jeremy Siek
582ebfd054 updated to match changes in the headers
[SVN r10260]
2001-06-03 21:07:46 +00:00
Jeremy Siek
42e4db1539 updated to match my paper to the committee
[SVN r10259]
2001-06-03 21:06:49 +00:00
Beman Dawes
d7023154a3 Fix broken hyperlinks
[SVN r9980]
2001-04-25 13:22:53 +00:00
Beman Dawes
9582b2223c Change all eGroups references to YahooGroups
[SVN r9979]
2001-04-25 00:24:50 +00:00
Jeremy Siek
d7908fb81f added public before the typedef for "type" in non_bidirectional_category
[SVN r9711]
2001-04-05 02:32:00 +00:00
Jeremy Siek
e48cdcb94f blah
[SVN r9588]
2001-03-19 19:35:51 +00:00
Jeremy Siek
0846ad5fd0 added links to iterator_traits.htm
[SVN r9587]
2001-03-19 18:05:17 +00:00
Jeremy Siek
84663ff2e2 added more doc
[SVN r9586]
2001-03-19 18:01:41 +00:00
Jeremy Siek
6de1934420 new file
[SVN r9585]
2001-03-19 17:41:49 +00:00
Jeremy Siek
a110b9fd27 new files
[SVN r9578]
2001-03-18 19:06:33 +00:00
Jeremy Siek
eb06c122d1 rigged new iterator_traits for backward compatibility
[SVN r9577]
2001-03-18 18:37:49 +00:00
Jeremy Siek
cbbe851adb VC++ workaround: the forward_iterator real ref check is not working
[SVN r9499]
2001-03-08 20:01:35 +00:00
Jeremy Siek
f6cc2e520f parameters following a named parameter list must get their types from
the named parameter list and not use the default


[SVN r9496]
2001-03-08 19:03:44 +00:00
Jeremy Siek
4e29b5aa29 removed some #if 0's
[SVN r9491]
2001-03-08 17:01:25 +00:00
Jeremy Siek
d924f56ad8 added support for optional named template parameters
[SVN r9487]
2001-03-08 16:33:14 +00:00
Jeremy Siek
f27fd095f7 new file, part of the iterator adaptors library
[SVN r9350]
2001-02-27 05:49:55 +00:00
2 changed files with 534 additions and 197 deletions

View File

@@ -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