Compare commits

...

19 Commits

Author SHA1 Message Date
cf7d2d2d3b Merge pull request #151 from grafikrobot/modular
Add support for modular build structure.
2025-05-02 19:18:50 +03:00
6cd17cbeae Sync from upstream. 2025-04-25 09:07:21 -05:00
1d124e8869 Merge pull request #157 from cho-m/any_iterator_interface-add_const
Add include for add_const
2025-04-25 01:42:52 +01:00
a377e87bfc Move project global include to target local include. 2025-04-07 21:24:57 -05:00
63544b1ec6 Sync from upstream. 2025-04-04 21:40:00 -05:00
9ac89e9936 Add include for add_const
Signed-off-by: Michael Cho <michael@michaelcho.dev>
2025-03-30 23:07:34 -04:00
a18dbf5d33 Merge pull request #155 from Lastique/feature/add_enable_if_convertible_include
Add a dedicated include for enable_if_convertible
2025-02-07 19:15:20 +00:00
55aab1f437 Added a dedicated include for enable_if_convertible.
enable_if_convertible is now defined in a separate header in Boost.Iterator.
Also qualify iterators namespace for enable_if_convertible.
2025-02-07 14:04:57 +03:00
f142776ac2 Merge pull request #154 from Lastique/feature/fix_mpl_includes
Fix missing and unneeded Boost.MPL includes
2025-02-07 10:57:30 +00:00
c9ebed771c Fix missing and unneeded Boost.MPL includes.
Also update Boost.Core includes to use up to date headers instead
of the deprecated forwarding stubs.
2025-02-01 02:13:04 +03:00
acb5648eac Merge pull request #150 from gogagum/develop
Fix missing include in `boost/range/concepts.hpp`.
2024-10-10 23:10:32 +01:00
2b6fd29168 Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:23 -05:00
e3ac7974f3 Update copyright dates. 2024-07-20 22:52:04 -05:00
c31588ed06 Change all <source> references to <library>. 2024-07-20 19:42:16 -05:00
6a13721e44 Bump B2 require to 5.2 2024-06-14 11:33:56 -05:00
bc2127c9a9 Fix missing include. 2024-06-09 17:59:07 +03:00
422c4d9b42 Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
a9c1add21c Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:15:59 -05:00
048e860e59 Make the library modular usable. 2024-03-11 08:38:17 -05:00
19 changed files with 82 additions and 26 deletions

37
build.jam Normal file
View File

@ -0,0 +1,37 @@
# Copyright René Ferdinand Rivera Morell 2023-2024
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
require-b2 5.2 ;
constant boost_dependencies :
/boost/array//boost_array
/boost/assert//boost_assert
/boost/concept_check//boost_concept_check
/boost/config//boost_config
/boost/container_hash//boost_container_hash
/boost/conversion//boost_conversion
/boost/core//boost_core
/boost/detail//boost_detail
/boost/iterator//boost_iterator
/boost/mpl//boost_mpl
/boost/optional//boost_optional
/boost/preprocessor//boost_preprocessor
/boost/regex//boost_regex
/boost/static_assert//boost_static_assert
/boost/tuple//boost_tuple
/boost/type_traits//boost_type_traits
/boost/utility//boost_utility ;
project /boost/range
;
explicit
[ alias boost_range : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_range test ]
;
call-if : boost-library range
;

View File

@ -14,6 +14,7 @@
#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
@ -66,7 +67,7 @@ namespace boost
template<class OtherIterator>
strided_iterator(
const strided_iterator<OtherIterator, Category>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@ -110,7 +111,7 @@ namespace boost
template<class OtherIterator>
bool equal(
const strided_iterator<OtherIterator, Category>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0) const
@ -177,7 +178,7 @@ namespace boost
OtherIterator,
bidirectional_traversal_tag
>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@ -239,7 +240,7 @@ namespace boost
OtherIterator,
bidirectional_traversal_tag
>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0) const
@ -308,7 +309,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator,
base_iterator
>::type* = 0
@ -372,7 +373,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename enable_if_convertible<
typename iterators::enable_if_convertible<
OtherIterator, base_iterator>::type* = 0) const
{
BOOST_ASSERT((other.m_index - m_index) % m_stride == difference_type());
@ -385,7 +386,7 @@ namespace boost
OtherIterator,
random_access_traversal_tag
>& other,
typename enable_if_convertible<
typename iterators::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/utility/enable_if.hpp>
#include <boost/ref.hpp>
#include <boost/core/enable_if.hpp>
#include <boost/core/ref.hpp>
#include <algorithm>
#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)

View File

@ -10,6 +10,8 @@
#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,7 +23,9 @@
#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,6 +13,7 @@
#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>
@ -20,7 +21,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/utility/enable_if.hpp>
#include <boost/core/enable_if.hpp>
namespace boost
{

View File

@ -10,8 +10,10 @@
#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/add_const.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/remove_const.hpp>

View File

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

View File

@ -13,6 +13,7 @@
#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,6 +19,7 @@
#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/utility/addressof.hpp>
#include <boost/utility/enable_if.hpp> // disable_if
#include <boost/core/addressof.hpp>
#include <boost/core/enable_if.hpp> // disable_if
#include <boost/next_prior.hpp>
#if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)

View File

@ -20,6 +20,8 @@
#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/utility/enable_if.hpp>
#include <boost/core/enable_if.hpp>
namespace boost
{

View File

@ -22,6 +22,7 @@
#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,8 +26,11 @@
#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>
@ -41,7 +44,7 @@
#include <boost/range/has_range_iterator.hpp>
#include <boost/range/algorithm/equal.hpp>
#include <boost/range/detail/safe_bool.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/core/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/utility/addressof.hpp>
#include <boost/core/addressof.hpp>
#include <afx.h> // legacy CString
#include <afxcoll.h> // CXXXArray, CXXXList, CMapXXXToXXX
#include <tchar.h>

View File

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

View File

@ -27,6 +27,8 @@
#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>

View File

@ -14,19 +14,23 @@ import testing ;
project
: requirements
<library>/boost/test//boost_unit_test_framework/
<library>/boost/regex//boost_regex/
<library>/boost/assign//boost_assign
<library>/boost/foreach//boost_foreach
<library>/boost/lambda//boost_lambda
<library>/boost/regex//boost_regex/<link>static
<library>/boost/test//boost_unit_test_framework
<library>/boost/variant//boost_variant
<link>static
<threading>multi
;
rule range-test ( name : includes * )
rule range-test ( name : requirements * )
{
return [
run $(name).cpp /boost/test//boost_unit_test_framework /boost/regex//boost_regex/<link>static
run $(name).cpp
:
:
: <toolset>gcc:<cxxflags>"-Wall -Wunused "
: <toolset>gcc:<cxxflags>"-Wall -Wunused " $(requirements)
] ;
}
@ -67,7 +71,7 @@ test-suite range :
[ range-test adaptor_test/sliced ]
[ range-test adaptor_test/strided ]
[ range-test adaptor_test/strided2 ]
[ range-test adaptor_test/ticket_6742_transformed_c4789_warning ]
[ range-test adaptor_test/ticket_6742_transformed_c4789_warning : <library>/boost/phoenix//boost_phoenix ]
[ range-test adaptor_test/ticket_8676_sliced_transformed ]
[ range-test adaptor_test/ticket_9519_strided_reversed ]
[ range-test adaptor_test/tokenized ]