Compare commits

..

1 Commits

Author SHA1 Message Date
ead855f4f3 Rework as esp-idf component 2023-11-23 17:17:05 +01:00
20 changed files with 63 additions and 41 deletions

View File

@@ -3,6 +3,8 @@
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt
if(NOT DEFINED IDF_TARGET)
cmake_minimum_required(VERSION 3.5...3.16)
project(boost_range VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
@@ -39,3 +41,33 @@ if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
endif()
else()
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
idf_component_register(
SRCS
${headers}
INCLUDE_DIRS
include
REQUIRES
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
)
endif()

View File

@@ -19,11 +19,9 @@ 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 `y < x` is `false` (i.e.,
`x <= y`), or if the number of elements is zero or one.
each adjacent elements `[x,y]` the expression `x < y` is `true`.
For the predicate version the return value is `true` is and only if for each
adjacent elements `[x, y]` the expression `pred(y, x)` is `false`, or if the
number of elements is zero or one.
adjacent elements `[x,y]` the expression `pred(x,y)` is `true`.
[heading Definition]

View File

@@ -14,7 +14,6 @@
#include <boost/range/adaptor/argument_fwd.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/iterator/enable_if_convertible.hpp>
#include <iterator>
namespace boost
@@ -67,7 +66,7 @@ namespace boost
template<class OtherIterator>
strided_iterator(
const strided_iterator<OtherIterator, Category>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@@ -111,7 +110,7 @@ namespace boost
template<class OtherIterator>
bool equal(
const strided_iterator<OtherIterator, Category>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0) const
@@ -178,7 +177,7 @@ namespace boost
OtherIterator,
bidirectional_traversal_tag
>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@@ -240,7 +239,7 @@ namespace boost
OtherIterator,
bidirectional_traversal_tag
>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0) const
@@ -309,7 +308,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@@ -373,7 +372,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator, base_iterator>::type* = 0) const
{
BOOST_ASSERT((other.m_index - m_index) % m_stride == difference_type());
@@ -386,7 +385,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename iterators::enable_if_convertible<
typename enable_if_convertible<
OtherIterator, base_iterator>::type* = 0) const
{
return m_index == other.m_index;

View File

@@ -13,8 +13,8 @@
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>
#include <boost/range/concepts.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/core/ref.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/ref.hpp>
#include <algorithm>
#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)

View File

@@ -10,8 +10,6 @@
#define BOOST_RANGE_ANY_RANGE_HPP_INCLUDED
#include <boost/config.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/iterator/iterator_categories.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/iterator/iterator_facade.hpp>

View File

@@ -23,9 +23,7 @@
#include <boost/range/iterator.hpp>
#include <boost/range/value_type.hpp>
#include <boost/range/detail/misc_concept.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <iterator>

View File

@@ -13,7 +13,6 @@
#include <boost/mpl/and.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_reference.hpp>
@@ -21,7 +20,7 @@
#include <boost/range/detail/any_iterator_buffer.hpp>
#include <boost/range/detail/any_iterator_interface.hpp>
#include <boost/range/detail/any_iterator_wrapper.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/utility/enable_if.hpp>
namespace boost
{

View File

@@ -13,7 +13,7 @@
#include <boost/array.hpp>
#include <boost/assert.hpp>
#include <boost/static_assert.hpp>
#include <boost/core/noncopyable.hpp>
#include <boost/noncopyable.hpp>
namespace boost
{

View File

@@ -10,7 +10,6 @@
#ifndef BOOST_RANGE_DETAIL_ANY_ITERATOR_INTERFACE_HPP_INCLUDED
#define BOOST_RANGE_DETAIL_ANY_ITERATOR_INTERFACE_HPP_INCLUDED
#include <boost/mpl/if.hpp>
#include <boost/range/detail/any_iterator_buffer.hpp>
#include <boost/iterator/iterator_categories.hpp>
#include <boost/type_traits/is_convertible.hpp>

View File

@@ -20,7 +20,10 @@
#include <boost/type_traits/is_convertible.hpp>
#include <boost/type_traits/remove_pointer.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/fold.hpp>
// Container traits implementation ---------------------------------------------------------

View File

@@ -13,7 +13,6 @@
#include <boost/type_traits/is_class.hpp>
#include <boost/type_traits/is_member_function_pointer.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/cstdint.hpp>

View File

@@ -19,7 +19,6 @@
#include <iterator>
#include <boost/assert.hpp>
#include <boost/mpl/if.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/range/begin.hpp>

View File

@@ -56,8 +56,8 @@
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/core/addressof.hpp>
#include <boost/core/enable_if.hpp> // disable_if
#include <boost/utility/addressof.hpp>
#include <boost/utility/enable_if.hpp> // disable_if
#include <boost/next_prior.hpp>
#if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)

View File

@@ -20,8 +20,6 @@
#endif
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
#include <boost/mpl/bool.hpp>
namespace boost
{
namespace cb_details

View File

@@ -18,7 +18,7 @@
#include <boost/mpl/has_xxx.hpp>
#include <boost/range/iterator.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/utility/enable_if.hpp>
namespace boost
{

View File

@@ -22,7 +22,6 @@
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/if.hpp>
namespace boost
{

View File

@@ -26,11 +26,8 @@
#include <boost/iterator/iterator_traits.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/not.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/type_traits/is_abstract.hpp>
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/is_base_and_derived.hpp>
@@ -44,7 +41,7 @@
#include <boost/range/has_range_iterator.hpp>
#include <boost/range/algorithm/equal.hpp>
#include <boost/range/detail/safe_bool.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/next_prior.hpp>
#include <iterator>
#include <algorithm>

View File

@@ -90,7 +90,7 @@ class CTypedPtrMap;
#include <boost/iterator/transform_iterator.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/remove_pointer.hpp>
#include <boost/core/addressof.hpp>
#include <boost/utility/addressof.hpp>
#include <afx.h> // legacy CString
#include <afxcoll.h> // CXXXArray, CXXXList, CMapXXXToXXX
#include <tchar.h>
@@ -292,8 +292,11 @@ namespace boost { namespace range_detail_microsoft {
struct meta
{
typedef list_iterator<X, ::CObject *> mutable_iterator;
// const CObList and const CPtrList both return a value (and probably always will)
#if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
typedef list_iterator<X const, ::CObject const *> const_iterator;
#else
typedef list_iterator<X const, ::CObject const * const, ::CObject const * const> const_iterator;
#endif
};
};
@@ -306,8 +309,11 @@ namespace boost { namespace range_detail_microsoft {
struct meta
{
typedef list_iterator<X, void *> mutable_iterator;
// const CObList and const CPtrList both return a value (and probably always will)
#if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
typedef list_iterator<X const, void const *> const_iterator;
#else
typedef list_iterator<X const, void const * const, void const * const> const_iterator;
#endif
};
};

View File

@@ -20,7 +20,7 @@
#include <boost/range/concepts.hpp>
#include <boost/range/has_range_iterator.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/make_unsigned.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <cstddef>

View File

@@ -27,8 +27,6 @@
#include <boost/range/reference.hpp>
#include <boost/range/algorithm/equal.hpp>
#include <boost/assert.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/remove_reference.hpp>