30 Commits

Author SHA1 Message Date
Jeremy Siek
ef66d28b19 added "explicit" to iterator_adaptor constructor
[SVN r9234]
2001-02-17 01:44:41 +00:00
Dave Abrahams
0c8d74863f Add an implicit conversion operator to operator_arrow_proxy as CW and BCC workarounds.
[SVN r9233]
2001-02-16 23:06:57 +00:00
Jens Maurer
1c73f1f2ae made filter_iterator_generator::policies_type public
[SVN r9230]
2001-02-16 21:27:26 +00:00
Dave Abrahams
ee20a630dd Remove implication that a type generator may only generate a single type
[SVN r9221]
2001-02-16 05:24:45 +00:00
Jeremy Siek
c2472221ef made the typedef policies_type public in iterator_adaptor
and private in filter_iterator_generator


[SVN r9205]
2001-02-15 06:07:00 +00:00
Dave Abrahams
5482763a93 added missing const qualifier
[SVN r9148]
2001-02-12 04:45:02 +00:00
Dave Abrahams
e3aaf2cc91 Switch to use of BOOST_STATIC_CONSTANT where possible
[SVN r9127]
2001-02-11 19:29:28 +00:00
Jeremy Siek
ea4c7c7dd9 Removed workaround for older MIPSpro compiler. The workaround was
preventing the proper functionality of the underlying iterator being
carried forward into the iterator adaptor.

Also added is_bidirectional enum to avoid EDG compiler error.


[SVN r9123]
2001-02-11 18:57:31 +00:00
Dave Abrahams
fd6ba58d5e Borland fixes up the wazoo. It finally works!
[SVN r9114]
2001-02-11 16:09:22 +00:00
Dave Abrahams
c585adde71 Removed traits argument from iterator_adaptor<> and switched to explicit trait
specification for maximum ease-of-use.

Added comments to detail::iterator_defaults<>

Began using detail::iterator_defaults<> unconditionally for code clarity

Changed uses of `Iterator' to `Base' where non-iterators can be used.


[SVN r9104]
2001-02-11 03:05:50 +00:00
Dave Abrahams
c5f24d0d72 A baby step that worked.
[SVN r9095]
2001-02-10 23:14:42 +00:00
Dave Abrahams
be44a4714b Rolled in supposed Borland fixes from John Maddock, but not seeing any
improvement yet

Changed argument order to indirect_ generator, for convenience in the case of
input iterators (where Reference must be a value type).

Removed derivation of filter_iterator_policies from default_iterator_policies,
since the iterator category is likely to be reduced (we don't want to allow
illegal operations like decrement).

Support for a simpler filter iterator interface.


[SVN r9092]
2001-02-10 20:22:05 +00:00
Jeremy Siek
e9f24023d4 completely removed constructor that was #if 0'd
[SVN r9076]
2001-02-10 17:57:51 +00:00
Jens Maurer
51616fa845 removed superfluous "typename"
[SVN r9068]
2001-02-10 09:34:19 +00:00
Dave Abrahams
d7884b5613 *** empty log message ***
[SVN r9066]
2001-02-10 00:35:45 +00:00
Dave Abrahams
15b5b66776 Improved interface to indirect_ and reverse_ iterators
[SVN r9065]
2001-02-10 00:26:55 +00:00
Dave Abrahams
6f90982a45 roll back mistaken changes
[SVN r9062]
2001-02-09 21:04:09 +00:00
Dave Abrahams
bfda34e9e0 try a better interface to indirect iterators
[SVN r9060]
2001-02-09 19:26:19 +00:00
Dave Abrahams
8174963a45 Rolled back Jeremy's new constructor for now; it was causing problems with counting_iterator_test
Attempted fix for Borland


[SVN r9055]
2001-02-09 15:17:17 +00:00
Jeremy Siek
86e183c75e MSVC porting
[SVN r9052]
2001-02-09 05:44:13 +00:00
Jeremy Siek
a94c9d0db2 Added iterator constructor to allow const adaptor
from non-const adaptee.

      Changed make_xxx to pass iterators by-value to
      get arrays converted to pointers.

      Removed InnerIterator template parameter from
      indirect_iterator_generator.

      Rearranged parameters for make_filter_iterator


[SVN r9050]
2001-02-09 05:26:01 +00:00
Dave Abrahams
8496571204 Fold in Jeremy's improvement to make_reverse_iterator
[SVN r9042]
2001-02-09 03:29:11 +00:00
Dave Abrahams
b05b38810c just whitespace
[SVN r9030]
2001-02-08 04:45:18 +00:00
Jeremy Siek
edf17ba001 put indirect_iterator_pair_generator back in
[SVN r9027]
2001-02-08 03:41:23 +00:00
Jeremy Siek
ee9f140fae Removed all pair generator's except for projection and
some const adaptor generators.

Added make_xxx_iterator() helper functions for remaining
iterator adaptors.

Removed some traits template parameters where they
where no longer needed thanks to detail::iterator_traits.

Moved some of the compile-time logic into enums for
EDG compatibility.


[SVN r9024]
2001-02-08 03:07:33 +00:00
Dave Abrahams
6eeeb23332 Removed iterator_adaptor_pair_generator and
reverse_iterator_pair_generator (more such culling to come)

Improved comments

Changed all uses of std::iterator_traits as default arguments
to boost::detail::iterator_traits for improved utility in
non-generic contexts

Fixed naming convention of non-template parameter names


[SVN r9003]
2001-02-07 17:22:16 +00:00
Dave Abrahams
07482538ed Produce operator-> proxy objects for InputIterators
Added static assertions to do some basic concept checks

Renamed single-type generators -> xxx_generator
Renamed const/nonconst iterator generators -> xxx_pair_generator

Added make_transform_iterator(iter, function)

The existence of boost::detail::iterator_traits allowed many
template arguments to be defaulted. Some arguments had to be
moved to accomplish it.


[SVN r8994]
2001-02-07 05:15:42 +00:00
Jeremy Siek
332f18cf9f changed category for transform iterator traits to input iterator
[SVN r8936]
2001-02-04 23:45:57 +00:00
Dave Abrahams
41c334d718 MWERKS bug workaround
[SVN r8931]
2001-02-04 20:35:23 +00:00
Dave Abrahams
93b54c15c8 Inital checkin
[SVN r8927]
2001-02-04 19:11:30 +00:00