forked from boostorg/range
Compare commits
15 Commits
boost-1.76
...
develop
Author | SHA1 | Date | |
---|---|---|---|
f0e109312c | |||
3920ef2e7a | |||
41bff33b2c | |||
b2e4d5ad4b | |||
d52236c0b8 | |||
014c48f1b1 | |||
9c783ecbef | |||
d6e0a32f2e | |||
95095cf4bb | |||
88c6199aed | |||
fd40a25fea | |||
da69f60d3e | |||
6fc6e92adc | |||
e13030df17 | |||
6776ffa8e8 |
41
CMakeLists.txt
Normal file
41
CMakeLists.txt
Normal file
@ -0,0 +1,41 @@
|
||||
# Generated by `boostdep --cmake range`
|
||||
# Copyright 2020 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# https://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
cmake_minimum_required(VERSION 3.5...3.16)
|
||||
|
||||
project(boost_range VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
|
||||
|
||||
add_library(boost_range INTERFACE)
|
||||
add_library(Boost::range ALIAS boost_range)
|
||||
|
||||
target_include_directories(boost_range INTERFACE include)
|
||||
|
||||
target_link_libraries(boost_range
|
||||
INTERFACE
|
||||
Boost::array
|
||||
Boost::assert
|
||||
Boost::concept_check
|
||||
Boost::config
|
||||
Boost::container_hash
|
||||
Boost::conversion
|
||||
Boost::core
|
||||
Boost::detail
|
||||
Boost::iterator
|
||||
Boost::mpl
|
||||
Boost::optional
|
||||
Boost::preprocessor
|
||||
Boost::regex
|
||||
Boost::static_assert
|
||||
Boost::tuple
|
||||
Boost::type_traits
|
||||
Boost::utility
|
||||
)
|
||||
|
||||
if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
|
||||
|
||||
add_subdirectory(test)
|
||||
|
||||
endif()
|
||||
|
@ -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<decltype(rng)>` otherwise `boost:select_second_mutable<decltype(rng)>`
|
||||
* [*Range Return Type:] for constant ranges, `boost::select_second_const<decltype(rng)>` otherwise `boost::select_second_mutable<decltype(rng)>`
|
||||
* [*Returned Range Category:] The range category of `rng`.
|
||||
|
||||
[section:map_values_example map_values example]
|
||||
|
@ -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]
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <boost/array.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/static_assert.hpp>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <boost/core/noncopyable.hpp>
|
||||
|
||||
namespace boost
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
#ifndef BOOST_RANGE_DETAIL_ANY_ITERATOR_WRAPPER_HPP_INCLUDED
|
||||
#define BOOST_RANGE_DETAIL_ANY_ITERATOR_WRAPPER_HPP_INCLUDED
|
||||
|
||||
#include <boost/cast.hpp>
|
||||
#include <boost/polymorphic_cast.hpp>
|
||||
#include <boost/range/config.hpp>
|
||||
#include <boost/range/detail/any_iterator_interface.hpp>
|
||||
#include <boost/range/concepts.hpp>
|
||||
|
@ -292,11 +292,8 @@ namespace boost { namespace range_detail_microsoft {
|
||||
struct meta
|
||||
{
|
||||
typedef list_iterator<X, ::CObject *> mutable_iterator;
|
||||
#if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
|
||||
typedef list_iterator<X const, ::CObject const *> const_iterator;
|
||||
#else
|
||||
// const CObList and const CPtrList both return a value (and probably always will)
|
||||
typedef list_iterator<X const, ::CObject const * const, ::CObject const * const> const_iterator;
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
@ -309,11 +306,8 @@ namespace boost { namespace range_detail_microsoft {
|
||||
struct meta
|
||||
{
|
||||
typedef list_iterator<X, void *> mutable_iterator;
|
||||
#if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
|
||||
typedef list_iterator<X const, void const *> const_iterator;
|
||||
#else
|
||||
// const CObList and const CPtrList both return a value (and probably always will)
|
||||
typedef list_iterator<X const, void const * const, void const * const> const_iterator;
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -12,5 +12,6 @@
|
||||
"maintainers": [
|
||||
"Neil Groves <neilgroves -at- googlemail.com>",
|
||||
"Nathan Ridge <zeratul976 -at- hotmail.com>"
|
||||
]
|
||||
],
|
||||
"cxxstd": "03"
|
||||
}
|
||||
|
Reference in New Issue
Block a user