Noel Belcourt
e000b676cc
Merge pull request #4 from Lastique/sfinae-based-operators
...
Make iterator operators conditionally defined depending on its category.
Looks okay and fixes several known problems, thanks Andrey.
2014-06-30 16:49:53 -06:00
Daniel James
25139e1311
Remove operator_brackets_dispatch.hpp
...
I should have removed it in 8e5b8025d8 .
2014-06-30 10:53:35 +01:00
Kohei Takahashi
aad767ed3f
Merge upstream branch 'develop' into pr/zip_iterator/fusionize
2014-06-30 11:13:38 +09:00
Andrey Semashev
7fa65a4278
Made iterator operators conditionally defined depending on its category.
...
This makes iterators defined using iterator_facade more friendly to type inspection and fixes its use with next()/prior() since commit 651a869d4f .
The arithmetic, indexing and relational operators are only defined if the iterator category or traversal permits that. Note that the implementation requires partial template specialization support now.
2014-06-30 00:05:38 +04:00
Andrey Semashev
36988fcf98
Removed executable flags from headers.
2014-06-29 15:42:47 +04:00
Kohei Takahashi
782313db8c
Remove unnecessary specialization
...
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-06-14 15:59:31 +09:00
Kohei Takahashi
c040d4c38b
make_zip_iterator should be inlined
...
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-06-14 15:59:31 +09:00
Kohei Takahashi
1ddaca8297
zip_iterator specialization for std::pair
...
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-06-14 15:59:31 +09:00
Kohei Takahashi
acf9b4d4cf
Reimplement zip_iterator based on Boost.Fusion
...
By default, backward compatibility for Boost.Tuple is presented.
Signed-off-by: Kohei Takahashi <flast@flast.jp >
2014-06-12 01:05:36 +09:00
Daniel James
187bc896f6
BOOST_ITERATOR_CATEGORY shouldn't be removed.
...
Since it was documented, it should be kept for backwards compatiblity.
2014-06-06 23:03:03 +01:00
Stephen Kelly
6883d083d2
Iterator: Remove obsolete MSVC version checks.
...
[SVN r86082]
Conflicts:
include/boost/iterator/iterator_facade.hpp
2014-06-06 23:03:03 +01:00
Stephen Kelly
0345db959b
Remove use of BOOST_ITERATOR_CATEGORY
...
[SVN r86056]
2014-06-06 23:03:03 +01:00
Stephen Kelly
d814423414
Iterator: Remove obsolete GCC version check.
...
[SVN r86055]
2014-06-06 23:03:03 +01:00
Stephen Kelly
eb288b2908
Iterator: Remove use of eti baseclass workaround.
...
[SVN r85940]
2014-06-06 23:03:03 +01:00
Stephen Kelly
a803b5b42d
Remove use of obsolete BOOST_TT_BROKEN_COMPILER_SPEC
...
[SVN r86250]
2014-06-06 01:06:48 +01:00
Daniel James
8d96469cb4
Add link to changeset mentioned in comment.
2014-06-06 01:03:30 +01:00
Jeffrey Lee Hellrung, Jr
09549a613e
refs #6403
...
[SVN r80903]
2014-06-06 01:03:30 +01:00
Daniel James
8e5b8025d8
Revert changes that were merged to master.
...
Reverted: 2e099caceb9..21102938e8ccb
I'm going to reapply some of them soon, but it's easier to revert them
all first, as there are conflicts. Also the number of changes that were
inserted since then, mean that there would be a huge gap between related
changes.
2014-06-06 00:56:20 +01:00
Peter Dimov
c142956936
Remove boost/iterator.hpp, it has been moved to core.
2014-06-05 03:09:11 +03:00
Douglas Gregor
f2137c58b7
Converted to Boost Software License, Version 1.0
...
[SVN r24055]
2014-06-05 02:27:23 +03:00
Dave Abrahams
0dfc7bd53c
Removed access category tags from iterator library, made corresponding changes elsewhere.
...
boost/iterator and libs/iterator/test were updated from
branch "simplify"
[SVN r20905]
2014-06-05 02:27:23 +03:00
Dave Abrahams
ae1d0d0dfe
Move to new iterator adaptors
...
[SVN r19074]
2014-06-05 02:27:22 +03:00
Beman Dawes
9ddc974825
add or update See www.boost.org comments
...
[SVN r16708]
2014-06-05 02:27:22 +03:00
Jens Maurer
35cf24d413
add boost::generator_iterator_policies and convenience classes
...
[SVN r11725]
2014-06-05 02:27:20 +03:00
Andrey Semashev
91b2854e4a
Removed executable attribute.
2014-06-05 01:33:57 +03:00
Peter Dimov
27b44876bc
Link to documentation added.
...
[SVN r27745]
2014-06-05 01:33:56 +03:00
Aleksey Gurtovoy
123bf514ac
merge new MPL version from 'mplbook' branch
...
[SVN r24874]
2014-06-05 01:33:56 +03:00
Dave Abrahams
ac7b14253f
Kill off outer cv-stripping of Dereferenceable
...
[SVN r21696]
2014-06-05 01:33:55 +03:00
Dave Abrahams
69df402f70
Updated pointee and indirect_reference so that pointee represents the immutability of the pointed-to type via const qualification. The pointee of a proxy-based iterator will be const qualified unless a mutable reference to the value_type can be bound to the returned proxy.
...
Added a test for pointee
Fixed iterator_facade so operator[] result type computation didn't
cause a problem with abstract types.
Updated iterator_facade operator[] docs for accuracy.
Allowed Borland to simply fail the indirect_iterator_member_types test
because of its lame const-dropping, instead of trying to work around
it.
[SVN r21579]
2014-06-05 01:33:55 +03:00
Dave Abrahams
e600d3f65b
Added traits:
...
is_incrementable.hpp: checks whether ++x is well-formed
pointee.hpp: value_type of iterators or smart pointers
indirect_reference.hpp: reference type of iterators or smart pointers
indirect_iterator.hpp
indirect_iterator_member_types.cpp
Use pointee/indirect_reference to select value/reference type.
iterator_concepts.hpp: Fixed interoperable test. Hardly tests enough, but it's a start
minimum_category.hpp: Better error messages for vc6
indirect_iterator_test.cpp: Workarounds for compilers without SFINAE
static_assert_same.hpp: Informative error reports; added a macro.
zip_iterator_test.hpp: Added missing #include
Jamfile: made zip_iterator test pass with vc6/stlport
[SVN r21514]
2014-06-05 01:33:54 +03:00
Stephen Kelly
a1c0cf8373
Remove use of obsolete BOOST_TT_BROKEN_COMPILER_SPEC
...
[SVN r86250]
2014-06-05 01:15:17 +03:00
Stephen Kelly
220a11883c
Remove remaining occurances of BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
These evaded scripting.
[SVN r86249]
2014-06-05 01:14:58 +03:00
Stephen Kelly
913df78ec0
Simplify multi-component ifdefs containing BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
[SVN r86248]
2014-06-05 01:14:37 +03:00
Stephen Kelly
01f9b396d8
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifdef...#else...#endif blocks.
[SVN r86246]
2014-06-05 01:14:14 +03:00
Stephen Kelly
67d418a5c6
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
...
Process #ifndef...#endif conditions.
[SVN r86244]
2014-06-05 01:13:55 +03:00
Stephen Kelly
d853e444ce
Iterator: Remove obsolete MSVC version checks.
...
[SVN r86082]
2014-06-05 01:13:31 +03:00
Stephen Kelly
e6d5c24b91
Remove use of BOOST_ITERATOR_CATEGORY
...
[SVN r86056]
2014-06-05 01:13:14 +03:00
Stephen Kelly
98db5b4f9a
Iterator: Remove obsolete GCC version check.
...
[SVN r86055]
2014-06-05 01:13:00 +03:00
Stephen Kelly
739c95411f
Iterator: Remove use of eti baseclass workaround.
...
[SVN r85940]
2014-06-05 01:12:47 +03:00
Jeffrey Lee Hellrung, Jr
8ce330a111
refs #6403
...
[SVN r80903]
2014-06-05 01:12:20 +03:00
Jeffrey Lee Hellrung, Jr
d291c7b43e
- BREAKING CHANGE: iterator_facade::pointer now corresponds to the actual result of iterator_facade::operator-> rather than Value*. This required an adjustment to a test.
...
- The logic for determining the result of iterator_facade::operator[] has been factored out into a separate detail header in preparation for its potential use in iterator_range to avoid iterator_range::operator[] from returning a reference to a temporary.
[SVN r80901]
2014-06-05 01:11:49 +03:00
Jeffrey Lee Hellrung, Jr.
6d0b2d4f8a
Merging trunk to release; fixing typo in comments of iterator_facade.
...
[SVN r80818]
2012-10-02 13:30:46 +00:00
Jeffrey Lee Hellrung, Jr.
c9463e941f
Merging boost/iterator from trunk to release (usability improvement after latest fix to function_input_iterator).
...
[SVN r80813]
2012-10-02 01:14:36 +00:00
Jeffrey Lee Hellrung, Jr.
9025bbfc2a
Merging boost/iterator and libs/iterator trunk to release.
...
[SVN r80568]
2012-09-18 02:50:52 +00:00
Jeffrey Lee Hellrung, Jr.
c7fc3470d0
merging from trunk; fix #5127 from M. Morin; fix for refs #5697
...
[SVN r78184]
2012-04-24 21:28:07 +00:00
Jeremiah Willcock
fbbdcf8c99
Merged in BGL, enable_if, and related changes from trunk: r67035, r57559, r72837, r73010, r73026, r72960, r73425, r73424, r73009, r73998, r73997, r73006, r73630, r73631, r73999, r73422, r73423, r73996, r71221
...
[SVN r74023]
2011-08-23 18:26:46 +00:00
Daniel James
5d72ae48da
Iterator: Use boost::result_of to determine nested result type of function in transform_iterator. Fixes #1427 .
...
[SVN r70715]
2011-03-29 21:31:29 +00:00
Daniel James
1ca1caddff
Iterator: merge several changes from trunk.
...
- Update iterator_facade test for #1019
(header change already merged).
- Category of each iterator is reduced to a known category before we try to
find a minimum. Fixes #1517 .
- `function_input_iterator` from Dean Michael Berris. Fixes #2893
- Fix typo in `boost/iterator.hpp`. Fixes #3434 .
- Always include `add_reference` header in iterator adaptor header.
Did not merge changes for #1427 .
[SVN r70709]
2011-03-29 21:17:11 +00:00
Daniel James
d45b57c33c
Revert [68076], refs #1427 .
...
Will try to fix this properly in 1.47.
[SVN r68524]
2011-01-28 08:40:25 +00:00
Marshall Clow
5a88e6f958
Merging fixes to release; Fixes #1427
...
[SVN r68076]
2011-01-13 01:25:09 +00:00