From 95095cf4bb6c3330fcc1fb5fe5f4d139351984b9 Mon Sep 17 00:00:00 2001 From: Benjamin Rodenberg Date: Sun, 23 Jan 2022 12:53:11 +0100 Subject: [PATCH 1/4] Fix typo --- doc/reference/adaptors/map_values.qbk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/reference/adaptors/map_values.qbk b/doc/reference/adaptors/map_values.qbk index 845c9e8..2fc42be 100644 --- a/doc/reference/adaptors/map_values.qbk +++ b/doc/reference/adaptors/map_values.qbk @@ -14,7 +14,7 @@ * [*Precondition:] The `value_type` of the range is an instantiation of `std::pair`. * [*Postcondition:] For all elements `x` in the returned range, `x` is the result of `y.second` where `y` is the corresponding element in the original range. * [*Range Category:] __single_pass_range__ -* [*Range Return Type:] for constant ranges, `boost::select_second_const` otherwise `boost:select_second_mutable` +* [*Range Return Type:] for constant ranges, `boost::select_second_const` otherwise `boost::select_second_mutable` * [*Returned Range Category:] The range category of `rng`. [section:map_values_example map_values example] From 9c783ecbefa65019116cb67f820cb3da0a373af1 Mon Sep 17 00:00:00 2001 From: Michael Ford Date: Tue, 23 Aug 2022 16:00:08 +0100 Subject: [PATCH 2/4] refactor: use core/noncopyable over boost/noncopyable The later is deprecated: ```cpp // The header file at this path is deprecated; // use boost/core/noncopyable.hpp instead. #include ``` --- include/boost/range/detail/any_iterator_buffer.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/range/detail/any_iterator_buffer.hpp b/include/boost/range/detail/any_iterator_buffer.hpp index 2bb5d53..9c943de 100644 --- a/include/boost/range/detail/any_iterator_buffer.hpp +++ b/include/boost/range/detail/any_iterator_buffer.hpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include namespace boost { From d52236c0b89cde09748b20b7cbd805063debbd8f Mon Sep 17 00:00:00 2001 From: Tobias Loew Date: Wed, 12 Apr 2023 09:04:41 +0200 Subject: [PATCH 3/4] fixed compilation error in mfc.hpp with VS2022, MSVC 14.3 `const CObList` and `const CPtrList` still return a value from `GetHead`, `GetTail` and `GetAt`. MSVC 14.2 didn't complain about it, but 14.3 does so. ``` 1>D:\boost\range\detail\microsoft.hpp(626,33): error C2440: 'return': cannot convert from 'const void *' to 'const void *&' 1>D:\boost\range\detail\microsoft.hpp(624,1): message : while compiling class template member function 'const void *&boost::range_detail_microsoft::list_iterator::dereference(void) const' 1> with 1> [ 1> X=CPtrList 1> ] 1>D:\boost\iterator\iterator_facade.hpp(631,11): message : see reference to function template instantiation 'const void *&boost::range_detail_microsoft::list_iterator::dereference(void) const' being compiled 1> with 1> [ 1> X=CPtrList 1> ] 1>D:\boost\range\mfc.hpp(881,1): message : see reference to class template instantiation 'boost::range_detail_microsoft::list_iterator' being compiled 1> with 1> [ 1> X=CPtrList 1> ] ``` --- include/boost/range/mfc.hpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/include/boost/range/mfc.hpp b/include/boost/range/mfc.hpp index 058e54e..ac025fb 100644 --- a/include/boost/range/mfc.hpp +++ b/include/boost/range/mfc.hpp @@ -292,11 +292,8 @@ namespace boost { namespace range_detail_microsoft { struct meta { typedef list_iterator mutable_iterator; - #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF) - typedef list_iterator const_iterator; - #else + // const CObList and const CPtrList both return a value (and probably always will) typedef list_iterator const_iterator; - #endif }; }; @@ -309,11 +306,8 @@ namespace boost { namespace range_detail_microsoft { struct meta { typedef list_iterator mutable_iterator; - #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF) - typedef list_iterator const_iterator; - #else + // const CObList and const CPtrList both return a value (and probably always will) typedef list_iterator const_iterator; - #endif }; }; From 41bff33b2c44fa652219b3c8e60cc0dee1ba02b8 Mon Sep 17 00:00:00 2001 From: Ben FrantzDale Date: Fri, 21 Apr 2023 14:38:08 -0400 Subject: [PATCH 4/4] Fix for docs: https://github.com/boostorg/range/issues/145 --- doc/reference/algorithm_ext/is_sorted.qbk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/reference/algorithm_ext/is_sorted.qbk b/doc/reference/algorithm_ext/is_sorted.qbk index f9c07b4..53794ae 100644 --- a/doc/reference/algorithm_ext/is_sorted.qbk +++ b/doc/reference/algorithm_ext/is_sorted.qbk @@ -19,9 +19,11 @@ bool is_sorted(const SinglePassRange& rng, BinaryPredicate pred); `is_sorted` determines if a range is sorted. For the non-predicate version the return value is `true` if and only if for -each adjacent elements `[x,y]` the expression `x < y` is `true`. +each adjacent elements `[x, y]` the expression `y < x` is `false` (i.e., +`x <= y`), or if the number of elements is zero or one. For the predicate version the return value is `true` is and only if for each -adjacent elements `[x,y]` the expression `pred(x,y)` is `true`. +adjacent elements `[x, y]` the expression `pred(y, x)` is `false`, or if the +number of elements is zero or one. [heading Definition]