Commit Graph

57 Commits

Author SHA1 Message Date
Andrey Semashev
cf43da4286 Removed useless #if 1. 2025-01-26 15:42:30 +03:00
Georgy Guminov
f9effffb6d Mostly remove pre-CXX11 workarounds.
С++03 support was deprecated in 1.85 and now can be removed. This PR clears
many of workarounds, which are no longer needed now.

* Remove unused workaround macros (many of).
* Remove BOOST_STATIC_ASSERT usages.
* Minimize Boost::type_traits dependency (in favour of STL's type_traits).

Closes https://github.com/boostorg/iterator/pull/82.

Squashed commit of the following:

commit 741a627b73
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sat Jan 25 12:13:05 2025 +0300

    Replace testers with standard metafunctions.

commit bf4cce6114
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sat Jan 25 11:51:32 2025 +0300

    Refactor is_lvalue_iterator.hpp.

commit 8d080c6c58
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sat Jan 25 10:27:32 2025 +0300

    Remove more workarounds.

commit 5a4ba24d36
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sun Jan 19 16:38:30 2025 +0300

    Fixes.

commit fdfafce2b9
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sat Oct 26 15:06:43 2024 +0300

    Remove BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
    Correct static_assert messages.
    Fix messages & replace is_standard_layout with is_copy_constructible.

commit c69ac1408a
Author: Georgy Guminov <gogagum@gmail.com>
Date:   Sat Oct 26 14:48:51 2024 +0300

    Correct static_assert messages.

commit b5df827151
Author: Georqy Guminov <gogagum@gmail.com>
Date:   Sun Jun 23 16:12:29 2024 +0300

    Fixes. Remove some Boost.MPL usages. Remove unused includes.

commit 01fd35e9f8
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Wed Jun 12 17:14:21 2024 +0300

    abstract conjunction.

commit c02def8acf
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Wed Jun 12 16:35:43 2024 +0300

    return addressof & conjunction.

commit 3b3d162575
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Wed Jun 12 16:30:44 2024 +0300

    Make macro more readable.

commit 4ab19e045f
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Wed Jun 12 15:56:49 2024 +0300

    Add static_assert messages.

commit 82b5c44cd3
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Wed Jun 12 14:12:10 2024 +0300

    Return is iterator CXX17 test.

commit 2d58d65462
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Tue Jun 11 14:04:17 2024 +0300

    Omitted.

commit a0d04d9491
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Tue Jun 11 14:00:35 2024 +0300

    Replace move with static_cast

commit 4a49b8a1a2
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Mon Jun 10 21:38:53 2024 +0300

    Return BOOST_NOEXCEPT

commit 054c013bba
Author: Georgiy Guminov <gogagum@gmail.com>
Date:   Sun Jun 9 15:20:41 2024 +0300

    CXX11
2025-01-26 15:21:16 +03:00
Alexander Grund
e8fbd92a61 Use BOOST_STATIC_ASSERT instead of BOOST_MPL_ASSERT (#78)
The MPL version is slower to compile and `BOOST_STATIC_ASSERT` is
already used in some places. So unify that.

This also fixes `Wzero-as-null-pointer-constant` warnings, see https://github.com/boostorg/mpl/pull/75
2023-05-07 15:23:16 +03:00
Andrey Semashev
d175ba2450 Trim trailing spaces. 2022-01-13 17:32:11 +03:00
Andrey Semashev
75ba1a50c9 Switched enable_if from MPL to TypeTraits. 2022-01-13 17:28:53 +03:00
Edward Diener
dc7bf5cc05 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 11:21:59 -04:00
Glen Fernandes
2af5a16539 Use use_default from Boost.Core
boost::use_default is now defined in Core for multiple Boost libraries.
2019-02-22 17:17:52 -05:00
Andrey Semashev
f158dba6ad Moved minimum_category to the public namespace. Added tests. 2014-07-19 21:39:49 +04:00
Andrey Semashev
8fe632d6b1 Copied minimum_category.hpp to public headers. 2014-07-19 21:03:11 +04:00
Andrey Semashev
269de2691a Added a workaround for boost/token_iteratpr.hpp which uses an implementation detail of this library. 2014-07-07 22:22:28 +04:00
Andrey Semashev
4a403cd3eb Trim spaces. 2014-07-03 00:36:44 +04:00
Andrey Semashev
dc96d371fa Moved most components of the library to iterators:: namespace.
This change excludes boost:: and boost::detail:: namespaces from ADL for unqualified function calls (e.g. algorithms). This reduces the possibility of name clashes with other libraries and user's code. One of the effects should be fixing test failures on gcc 4.2 and 4.4 due to clashed with Boost.TypeTraits.

Also some of the functions marked with inline keyword.
2014-07-03 00:22:45 +04:00
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
Andrey Semashev
36988fcf98 Removed executable flags from headers. 2014-06-29 15:42:47 +04: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
d814423414 Iterator: Remove obsolete GCC version check.
[SVN r86055]
2014-06-06 23:03:03 +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
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
d853e444ce Iterator: Remove obsolete MSVC version checks.
[SVN r86082]
2014-06-05 01:13:31 +03:00
Stephen Kelly
98db5b4f9a Iterator: Remove obsolete GCC version check.
[SVN r86055]
2014-06-05 01:13:00 +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
Nicola Musatti
2ece3ac5c2 CodeGear patch. Fixes #2344
[SVN r49321]
2008-10-13 19:27:26 +00:00
Dave Abrahams
78effefadb Merging SunPro 5.9 workaround from trunk
[SVN r47467]
2008-07-16 04:52:14 +00:00
Beman Dawes
23d53055f9 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
Alisdair Meredith
6a79b6014b Removed unused workaround definition
[SVN r32340]
2006-01-17 08:28:32 +00:00
John Maddock
ae45f7abf7 Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
[SVN r30670]
2005-08-25 16:27:28 +00:00
Markus Schöpflin
df49ae74e0 Define BOOST_NO_LVALUE_RETURN_DETECTION for Tru64/CXX-6.5.
[SVN r29545]
2005-06-13 08:22:38 +00:00
Rene Rivera
ef895f0cc7 Apply typo fixes from Julio M. Merino Vidal
[SVN r27513]
2005-02-27 17:28:24 +00:00
Dave Abrahams
295ae05e40 Fix the problems described in this thread:
http://lists.boost.org/MailArchives/boost-users/msg08656.php


[SVN r26410]
2004-12-03 09:55:30 +00:00
Dave Abrahams
65af4c96a9 Move indirect_traits to boost/detail
[SVN r25117]
2004-09-15 15:00:12 +00:00
Aleksey Gurtovoy
6196a6e591 merge new MPL version from 'mplbook' branch
[SVN r24874]
2004-09-02 15:41:37 +00:00
Dave Abrahams
e469abbf57 Work around an MSVC-stlport ICE
[SVN r24567]
2004-08-18 19:00:18 +00:00
Dave Abrahams
c141f6cc59 obsolete
[SVN r24508]
2004-08-16 14:24:49 +00:00
Douglas Gregor
9c955e8af2 Moved to BSL
[SVN r24445]
2004-08-12 17:02:24 +00:00
Dave Abrahams
dd72d599c8 Disable interop properly for vc6/7 using known SFINAE capabilities.
[SVN r24209]
2004-07-31 18:10:00 +00:00
Dave Abrahams
010f715950 Borland workarounds
[SVN r21893]
2004-01-24 17:39:45 +00:00
Jeremy Siek
18b1414d6c changed iterator_facade_default_category to stop lying about output_iterator_tag
[SVN r21683]
2004-01-13 18:04:13 +00:00
Dave Abrahams
1c26f7dd43 ETI workarounds for vc6
[SVN r21547]
2004-01-08 14:57:59 +00:00
Dave Abrahams
c546a3e875 Intel8 GCC-spoofing workaround
[SVN r21531]
2004-01-07 15:21:57 +00:00
Dave Abrahams
20b31d1cca 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]
2004-01-06 17:35:36 +00:00
Dave Abrahams
28dfcbd6b0 Fixes for gcc-3.4
[SVN r21453]
2004-01-03 02:47:08 +00:00
Aleksey Gurtovoy
8997a587e9 VC 7.1 workaround
[SVN r21320]
2003-12-18 11:31:25 +00:00
Jaakko Järvi
1f7c08615f Added BOOST_NO_SFINAE config macro, removed internal version from
the iterator library


[SVN r21125]
2003-12-03 19:26:15 +00:00
Dave Abrahams
ca1ee306b7 Remove bogus check for use_default
[SVN r20926]
2003-11-23 17:07:36 +00:00
Dave Abrahams
f6715137cf vc6 workaround
[SVN r20906]
2003-11-22 03:20:17 +00:00
Dave Abrahams
f18906ac6b Removed access category tags from iterator library, made corresponding
changes elsewhere.

boost/iterator and libs/iterator/test were updated from
branch "simplify"


[SVN r20905]
2003-11-22 01:18:37 +00:00