Commit Graph

  • 48375e9564 Create separate macro guards for the use of GCC's _RangeAdaptorClosure, since they keep messing with it. develop boost-1.90.0.beta1 boost-1.90.0 master Zach Laine 2025-10-31 17:15:34 -05:00
  • 0cfbf994a7 Fix ill-formedness when using move-only callable with closure and adaptor. Zach Laine 2025-10-31 17:05:09 -05:00
  • 4f7dab3519 Fixes compilation issue for g++14 Stat1cV01D 2025-10-28 17:36:37 +07:00
  • 9bf4c92758 Fix inverted order of operands in op<=> implementations. boost-1.89.0 Zach Laine 2025-07-13 15:59:05 -05:00
  • e60873635e MacOS 12 -> 13 in Github action builds. boost-1.88.0.beta1 boost-1.88.0 Zach Laine 2025-02-20 23:46:47 -06:00
  • 7776ae4191 Use BOOST_GCC, defined in config.hpp only for real (non-Clang-emulated) GCC builds, in place of relevant uses of the __GNUC__ macro. Zach Laine 2025-02-20 22:24:32 -06:00
  • 75a9a7d812 Remove executable flag from CMakeLists.txt Dirk Stolle 2025-01-31 18:44:28 +01:00
  • ea68455268 Fix two typos Dirk Stolle 2025-01-31 18:39:58 +01:00
  • 2d20447488 fix a typo Laurent Rineau 2025-01-10 13:52:51 +01:00
  • cefbd3014a When defining BOOST_STL_INTERFACES_USE_DEDUCED_THIS=1, require C++23 mode for the cases where __cpp_explicit_this_parameter is not defined, but the compiler is known to support it. Obviously, even if those compiler support it, it's not available in older C++ versions. boost-1.87.0.beta1 boost-1.87.0 Zach Laine 2024-11-10 12:43:48 -06:00
  • f89646cddf Enable BOOST_STL_INTERFACES_USE_DEDUCED_THIS on Clang 19 and MSVC 19.41 Edward Nolan 2024-10-24 00:22:25 -04:00
  • 2d001de901 Add [[no_unique_address]] to the data members of the adaptors in view_adaptor.hpp. Zach Laine 2024-10-23 20:44:30 -05:00
  • e0ff7f6c80 Convertible to bool -> void in sequence container swap() requirements. Zach Laine 2024-10-21 18:11:36 -05:00
  • b87b34c4cb Adjust doc build to avoid boost-root references. Rene Rivera 2024-07-28 11:45:26 -05:00
  • c23c56d7ea Move inter-lib dependencies to a project variable and into the build targets. Rene Rivera 2024-07-23 22:34:24 -05:00
  • 34a25d2c79 Update copyright dates. Rene Rivera 2024-07-20 22:52:05 -05:00
  • 12f2b68504 Change all <source> references to <library>. Rene Rivera 2024-07-20 21:26:20 -05:00
  • 1ea9fd3ca2 Bump B2 require to 5.2 Rene Rivera 2024-06-14 11:33:56 -05:00
  • 4c6c77aa2b Add requires-b2 check to top-level build file. Rene Rivera 2024-05-05 09:00:01 -05:00
  • 3acffbf46b Add missing import-search for cconfig/predef checks. Rene Rivera 2024-05-04 23:33:14 -05:00
  • 3d3f3cc507 Switch to library requirements instead of source. As source puts extra source in install targets. Rene Rivera 2024-03-29 21:15:59 -05:00
  • 9bb6e49f82 Make the library modular usable. Rene Rivera 2024-03-11 08:38:17 -05:00
  • ea2f078d0e Try to repair Github actions by removing GCC6 from the build, and not using any docker containers at all. Zach Laine 2024-09-27 18:40:02 -05:00
  • 6e5e8cb88c actions/checkout@v4 -> actions/checkout@v3 in Github actions. Zach Laine 2024-09-27 18:35:19 -05:00
  • b6fb7dca30 actions/checkout@v2 -> actions/checkout@v4 in Github actions. Zach Laine 2024-09-27 18:32:32 -05:00
  • 0f422d58cb Fix typo in adaptor::op() (f/f_ confusion). boost-1.86.0.beta1 boost-1.86.0 boost-1.85.0.beta1 boost-1.85.0 Zach Laine 2024-01-22 01:34:02 -06:00
  • 1c050d2df5 Add an rvalue-qualified overload of closure::operator(). This makes forwarding work properly in cases such as r | foo(std::string("foo")), where foo is an adaptor. Without this, the std::string temporary dangles. Zach Laine 2024-01-21 15:26:41 -06:00
  • 510eb431fb Fixes #63. Zach Laine 2023-09-05 21:02:51 -05:00
  • 1f7fb19002 Change the __GNUC__ >= 11 && __GNUC_MINOR__ >= 3 expression in one of the tests to __GNUC__ == 11 && ...; the workaround is not needed for GCC 12. Zach Laine 2023-09-05 21:01:17 -05:00
  • df9e186bd6 Add a new v3 namespace, containing a new iterator_interface based on deducing this instead of CRTP. boost-1.84.0.beta1 boost-1.84.0 boost-1.83.0.beta1 boost-1.83.0 Zach Laine 2023-06-05 00:12:48 -05:00
  • 6ee9557df9 Fix errors on MSVC. Zach Laine 2023-06-04 19:05:28 -05:00
  • 85e07407ab Update the OSX test runner image and XCode version. Zach Laine 2023-05-29 22:52:00 -05:00
  • d61867d8be GCC 13 reports as ill-formed code that evaluates a concept C more than once with the same template parameters, when the value of C changes between the evaluations. This is correct, but no other implementation checks this. Move all the hidden friends out of the v2::iterator_interface to fix these kinds of errors. Zach Laine 2023-05-29 15:21:37 -05:00
  • cb96522275 detail::sub -> detail::iter_sub; make iter_sub a bit more robust. Zach Laine 2023-05-03 20:06:56 -05:00
  • 46c82966a6 Fix sign confusion in iterator_interface::op<=>. Zach Laine 2023-05-03 20:06:17 -05:00
  • c022029c27 In C++20 and later, return void from operator++(int), for input_iterators. This matches the requirements of the std::input_iterator concept. This is not done in earlier C++ versions, because it completely breaks use of input iterators with the standard algorithms. Zach Laine 2023-05-02 20:19:41 -05:00
  • 21e03e7013 Use the given iterator_concept, but only define iterator_category when appropriate to do so. Appropriateness follows the algorithm for zip_view's iterator. See https://eel.is/c++draft/range.zip.transform.iterator#1. Zach Laine 2023-05-01 21:56:22 -05:00
  • 86aeeb1bb5 Add support for operator<=> comparisons of iterator_interfaces. Zach Laine 2023-03-28 19:34:39 -05:00
  • 965b1119cb Disable iterator_interface::operator-> when pointer is void or reference is not a language reference. Zach Laine 2023-03-26 14:14:00 -05:00
  • 51c212234e Use iterator_category_base with the C++20 version of iterator_interface. Zach Laine 2023-03-25 21:32:18 -05:00
  • 558548fa8a Add detail::iterator_category_base. Zach Laine 2023-03-25 18:01:42 -05:00
  • a823593710 Add simple check of nested typedefs in iterators deriving from a dependently-typed iterator_interface. Zach Laine 2023-01-31 21:50:16 -06:00
  • 8390819a70 Print message when cloning Boost. Zach Laine 2022-12-06 05:28:08 -06:00
  • 8c8f7905a1 Set the CXX_STANDARD CMake property on the compile tests. Zach Laine 2022-12-05 21:09:36 -06:00
  • 158fca0b6b Make the compile_sfinae_path_mutable_iterator compile-test 14-friendly. Zach Laine 2022-12-05 20:29:46 -06:00
  • c157b1637a Add a test to cover #59 so that it does not pop up again. Zach Laine 2022-12-05 20:11:03 -06:00
  • 7dd2b97589 Cruft removal. Zach Laine 2022-11-19 22:26:03 -06:00
  • 1dc2923434 Add non-const overloads of op* and op-> to v1 iterator_interface. This matches more closely what v2 does. boost-1.82.0.beta1 boost-1.82.0 boost-1.81.0 Zach Laine 2022-11-18 19:54:40 -06:00
  • 24f9450297 Doc copy editing. boost-1.81.0.beta1 boost-1.80.0.beta1 boost-1.80.0 Zach Laine 2022-06-04 20:06:33 -05:00
  • bd21cd308e Add some user/std mixed cases to view_adaptor.cpp. Zach Laine 2022-06-04 19:52:51 -05:00
  • 544c7448b4 Add a discussion of why it is sometimes necessary to use bind_back() directly. Zach Laine 2022-06-04 17:16:43 -05:00
  • 303a9da254 Create tutorial for the new range adaptor helpers. Zach Laine 2022-06-04 16:09:09 -05:00
  • c6d7fa15fa Break take_view out into its own header, in example/. Zach Laine 2022-06-04 14:41:08 -05:00
  • 808cbfac15 Break reverse_view out into its own header, in example/. Zach Laine 2022-06-04 14:17:42 -05:00
  • 19a2729a15 Break all_view out into its own header, in example/. Zach Laine 2022-06-04 12:12:05 -05:00
  • 6a64d48840 Require an actual std::ranges::view for take_view and reverse_view; take_view template parameter R -> View. Zach Laine 2022-06-04 11:19:55 -05:00
  • 6fa878de2f Update crufty bits of README, and remove Travis and Appveyor config files. Zach Laine 2022-06-03 23:03:09 -05:00
  • 437c188167 Consistently use BOOST_STL_INTERFACES_USE_CONCEPTS as the preprocessor predicate to guard test code, instead of the hodgepodge that was used previously. Zach Laine 2022-06-04 14:37:04 -05:00
  • 14c3741aaf Expand the view_adaptor test; fix errors. Zach Laine 2022-06-03 23:00:19 -05:00
  • 6a080f84cb Add very simple initial test of view_adaptor; fix errors. Zach Laine 2022-06-03 20:27:53 -05:00
  • 410e865acd Add view_adaptor.hpp and its associated detail/ headers. Zach Laine 2022-06-03 17:44:37 -05:00
  • f84cb723e1 Cruft removal. Zach Laine 2022-05-18 03:51:36 -05:00
  • f108c2dd4e Require __cpp_lib_concepts and __cpp_lib_ranges in order to enable BOOST_STL_INTERFACES_USE_CONCEPTS. Zach Laine 2022-05-17 22:33:46 -05:00
  • 537f62e9b2 Don't use derived() in concept constraints. This fixes VS2022 in C++20 mode. Zach Laine 2022-05-17 18:09:59 -05:00
  • 6514451f06 Fix doc typo. Zach Laine 2022-05-08 12:10:28 -05:00
  • 37e420670b Update GitHub Actions CI file sdarwin 2021-07-30 20:32:51 +00:00
  • 80ae39ed94 Re-enable testing of contiguos iterator .data() member in random_access.cpp when __cpp_lib_concepts is defined, for the GCC versions that support this. Zach Laine 2021-12-08 19:33:38 -06:00
  • ea719c8bf8 Add missing typename. Zach Laine 2021-12-08 19:13:58 -06:00
  • ccecfa5652 Return derived() from operator--() in iterator_interface. Previously, this returned the underlying adapted iterator. Fixes #50. Jan Bouwer 2021-11-08 11:37:06 +11:00
  • fbde58f203 Update metadata sdarwin 2021-11-05 13:14:00 -05:00
  • 920a64cea3 Add GitHub Actions config [ci skip] sdarwin 2021-03-04 15:07:11 +00:00
  • caa69728b7 add drone config [ci skip] sdarwin 2021-01-12 17:07:46 +00:00
  • 89840c0531 Revert "Add GCC 10 to Travis build." boost-1.79.0.beta1 boost-1.79.0 boost-1.78.0.beta1 boost-1.78.0 boost-1.77.0.beta1 boost-1.77.0 Zach Laine 2021-06-06 17:38:06 -05:00
  • 8e7e0390de Add GCC 10 to Travis build. Zach Laine 2021-06-06 14:45:10 -05:00
  • cd1fd465f3 Don't use a member function on the trailing return type of operator+=() and operator++() in iterator_interface; use the equivalent hand-written code instead. Addresses #50 on older Clang. Zach Laine 2021-06-06 13:43:08 -05:00
  • 7c1f2c02bd Return derived() from operator+=() and operator++() in iterator_interface. Previously, those each returned the underlying adapted iterator. Zach Laine 2021-06-05 18:37:59 -05:00
  • 907759ada3 Fix broken BOOST_STL_INTERFACES_STATIC_ASSERT_CONCEPT macro; it now properly static_asserts in C++20 builds. Zach Laine 2021-06-05 17:52:50 -05:00
  • e98536344d Pass an rvalue to emplace_back() in unevaluated contexts that are testing its existence. This is important for containers derived from sequence_container that constrain emplace_back() itself, and have a move-only value_type. Zach Laine 2021-06-05 17:34:56 -05:00
  • 29b990ba00 Add a Boost-friendly subproject case to CMakeLists Peter Dimov 2021-06-04 21:11:52 +03:00
  • 6834a51d83 Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries whose minumum C++ standard compilation level is C++11 on up. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. Edward Diener 2020-12-16 01:26:51 -05:00
  • a28e1674c8 Don't clone Boost deps into boost_root if that directory already exists. Zach Laine 2020-09-10 00:31:45 -05:00
  • 54da717c42 Include <functional> explicitly in the random access and bidirectional tests, to fix compilation failures with an obscure toolchain. Zach Laine 2020-08-17 22:21:04 -05:00
  • fd9bfb11bb Add a macro for disabling the C++20 v2 namespace. Add documentation of the inlining v1/v2 behavior. Zach Laine 2020-08-15 22:16:08 -05:00
  • 56ffa7c6ad Correct relops in v2 sequence_container_interface. Zach Laine 2020-08-02 02:11:02 -05:00
  • 5be9130135 Correct comment in example. Zach Laine 2020-08-02 02:10:35 -05:00
  • 53448edcdc Add full v2 namespace (C++20) implementation. When building in C++20 mode, including with __cpp_lib_concepts defined, the v2 namespace is inlined. Otherwise, the v1 namespace is inlined. This allows switching to concept-constrained templates without changing any user code. Zach Laine 2020-08-01 16:48:31 -05:00
  • 6ab42d5111 Yet again yet another attempt to once again try to fix the doc build. boost-1.76.0.beta1 boost-1.76.0 boost-1.75.0.beta1 boost-1.75.0 boost-1.74.0 Zach Laine 2020-07-19 13:59:58 -05:00
  • 3df19ef553 Yet again yet another attempt to again try to fix the doc build. Zach Laine 2020-07-19 11:51:02 -05:00
  • e3d1f8958b Yet again yet another attempt to again fix the doc build. Zach Laine 2020-07-16 04:38:54 -05:00
  • 3d65da2c72 Yet again yet another attempt to fix the doc build. Zach Laine 2020-07-13 19:55:51 -05:00
  • 8fb176ef24 Yet again another attempt to fix the doc build. Zach Laine 2020-07-13 19:23:30 -05:00
  • e914c08f0b Yet another attempt to fix the doc build. Zach Laine 2020-07-13 18:34:33 -05:00
  • 80376899d6 Revert "Revert "Remove the use of auto-index in doc/Jamfile.v2."" Zach Laine 2020-07-13 01:27:12 -05:00
  • 5e2754d3a2 Add missing definition of "here" to doc/Jamfile.v2. Zach Laine 2020-07-13 01:27:07 -05:00
  • 05a254c677 Revert "Remove the use of auto-index in doc/Jamfile.v2." Zach Laine 2020-07-13 01:22:03 -05:00
  • 87e02459bf Remove the use of auto-index in doc/Jamfile.v2. Zach Laine 2020-07-13 00:20:39 -05:00
  • d0ab53bc6f Change the run_doxygen line of doc/Jamfile.v2 to do what YAP does. Zach Laine 2020-07-13 00:18:19 -05:00
  • e1de4e1c0a Remove doc/Jamroot.jam (for out-of-Boost-tree builds). Zach Laine 2020-07-13 00:13:06 -05:00
  • 0a1830b725 Fix use of old lib name "iterator_facade" in index.html. Zach Laine 2020-07-12 16:11:24 -05:00
  • 077bc83a8a Disable GCC-10 for Travis Linux builds; it appears not to be available yet. Zach Laine 2020-07-10 00:40:26 -05:00