Skip to content

Commit e5a1937

Browse files
RangelRealexR3b0rn
authored andcommitted
upgrade to boost 1.84
1 parent 8b79c57 commit e5a1937

File tree

4,984 files changed

+889031
-10672
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,984 files changed

+889031
-10672
lines changed

Diff for: third-party/boost/Jamroot

+25-13
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,12 @@ import "class" : new ;
140140
import property-set ;
141141
import threadapi-feature ;
142142
import option ;
143+
import property ;
143144
# Backslash because of `bcp --namespace`
144145
import tools/boost\_install/boost-install ;
145146

146147
path-constant BOOST_ROOT : . ;
147-
constant BOOST_VERSION : 1.76.0 ;
148+
constant BOOST_VERSION : 1.84.0 ;
148149
constant BOOST_JAMROOT_MODULE : $(__name__) ;
149150

150151
# Allow subprojects to simply `import config : requires ;` to get access to the requires rule
@@ -180,6 +181,7 @@ project boost
180181
# Used to encode variant in target name. See the 'tag' rule below.
181182
<tag>@$(__name__).tag
182183
<conditional>@handle-static-runtime
184+
<conditional>@clang-darwin-cxxstd-11
183185
# Comeau does not support shared lib
184186
<toolset>como:<link>static
185187
<toolset>como-linux:<define>_GNU_SOURCE=1
@@ -213,22 +215,33 @@ rule handle-static-runtime ( properties * )
213215
# dangerous on Windows. Therefore, we disallow it. This might be drastic,
214216
# but it was disabled for a while without anybody complaining.
215217

216-
# For CW, static runtime is needed so that std::locale works.
217-
if <link>shared in $(properties) && <runtime-link>static in $(properties) &&
218-
! ( <toolset>cw in $(properties) )
219-
{
220-
if ! $(.shared-static-warning-emitted)
221-
{
222-
ECHO "warning: skipping configuration link=shared, runtime-link=static" ;
223-
ECHO "warning: this combination is either impossible or too dangerous" ;
224-
ECHO "warning: to be of any use" ;
225-
.shared-static-warning-emitted = 1 ;
226-
}
218+
local argv = [ modules.peek : ARGV ] ;
227219

220+
if <link>shared in $(properties)
221+
&& <runtime-link>static in $(properties)
222+
# For CW, static runtime is needed so that std::locale works.
223+
&& ! ( <toolset>cw in $(properties) )
224+
&& ! --allow-shared-static in $(argv)
225+
{
226+
boostcpp.emit-shared-static-warning ;
228227
return <build>no ;
229228
}
230229
}
231230

231+
rule clang-darwin-cxxstd-11 ( properties * )
232+
{
233+
# AppleClang defaults to C++03
234+
235+
local result = [ property.select <cxxstd> : $(properties) ] ;
236+
237+
if <toolset-clang:platform>darwin in $(properties)
238+
{
239+
result ?= <cxxstd>11 ;
240+
}
241+
242+
return $(result) ;
243+
}
244+
232245
all-libraries = [ MATCH .*libs/(.*)/build/.* : [ glob libs/*/build/Jamfile.v2 ]
233246
[ glob libs/*/build/Jamfile ] ] ;
234247

@@ -250,7 +263,6 @@ local rule explicit-alias ( id : targets + )
250263
explicit-alias prg_exec_monitor : libs/test/build//boost_prg_exec_monitor ;
251264
explicit-alias test_exec_monitor : libs/test/build//boost_test_exec_monitor ;
252265
explicit-alias unit_test_framework : libs/test/build//boost_unit_test_framework ;
253-
explicit-alias bgl-vis : libs/graps/build//bgl-vis ;
254266
explicit-alias serialization : libs/serialization/build//boost_serialization ;
255267
explicit-alias wserialization : libs/serialization/build//boost_wserialization ;
256268
for local l in $(all-libraries)

Diff for: third-party/boost/boost-build.jam

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# folder. It allows us to choose which Boost Build installation to use for
1010
# building Boost libraries. Unless explicitly selected using a command-line
1111
# option, the version included with the Boost library distribution is used (as
12-
# opposed to any other Boost Build version installed on the user's sytem).
12+
# opposed to any other Boost Build version installed on the user's system).
1313

1414
BOOST_ROOT = $(.boost-build-file:D) ;
1515
BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ;

Diff for: third-party/boost/boost/algorithm/string.hpp

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Boost string_algo library string_algo.hpp header file ---------------------------//
2+
3+
// Copyright Pavol Droba 2002-2004.
4+
//
5+
// Distributed under the Boost Software License, Version 1.0.
6+
// (See accompanying file LICENSE_1_0.txt or copy at
7+
// http://www.boost.org/LICENSE_1_0.txt)
8+
9+
// See http://www.boost.org/ for updates, documentation, and revision history.
10+
11+
#ifndef BOOST_STRING_ALGO_HPP
12+
#define BOOST_STRING_ALGO_HPP
13+
14+
/*! \file
15+
Cumulative include for string_algo library
16+
*/
17+
18+
#include <boost/algorithm/string/std_containers_traits.hpp>
19+
#include <boost/algorithm/string/trim.hpp>
20+
#include <boost/algorithm/string/case_conv.hpp>
21+
#include <boost/algorithm/string/predicate.hpp>
22+
#include <boost/algorithm/string/find.hpp>
23+
#include <boost/algorithm/string/split.hpp>
24+
#include <boost/algorithm/string/join.hpp>
25+
#include <boost/algorithm/string/replace.hpp>
26+
#include <boost/algorithm/string/erase.hpp>
27+
#include <boost/algorithm/string/classification.hpp>
28+
#include <boost/algorithm/string/find_iterator.hpp>
29+
30+
31+
#endif // BOOST_STRING_ALGO_HPP
+176
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
// Boost string_algo library case_conv.hpp header file ---------------------------//
2+
3+
// Copyright Pavol Droba 2002-2003.
4+
//
5+
// Distributed under the Boost Software License, Version 1.0.
6+
// (See accompanying file LICENSE_1_0.txt or copy at
7+
// http://www.boost.org/LICENSE_1_0.txt)
8+
9+
// See http://www.boost.org/ for updates, documentation, and revision history.
10+
11+
#ifndef BOOST_STRING_CASE_CONV_HPP
12+
#define BOOST_STRING_CASE_CONV_HPP
13+
14+
#include <boost/algorithm/string/config.hpp>
15+
#include <algorithm>
16+
#include <locale>
17+
#include <boost/iterator/transform_iterator.hpp>
18+
19+
#include <boost/range/as_literal.hpp>
20+
#include <boost/range/begin.hpp>
21+
#include <boost/range/end.hpp>
22+
#include <boost/range/value_type.hpp>
23+
24+
#include <boost/algorithm/string/detail/case_conv.hpp>
25+
26+
/*! \file
27+
Defines sequence case-conversion algorithms.
28+
Algorithms convert each element in the input sequence to the
29+
desired case using provided locales.
30+
*/
31+
32+
namespace boost {
33+
namespace algorithm {
34+
35+
// to_lower -----------------------------------------------//
36+
37+
//! Convert to lower case
38+
/*!
39+
Each element of the input sequence is converted to lower
40+
case. The result is a copy of the input converted to lower case.
41+
It is returned as a sequence or copied to the output iterator.
42+
43+
\param Output An output iterator to which the result will be copied
44+
\param Input An input range
45+
\param Loc A locale used for conversion
46+
\return
47+
An output iterator pointing just after the last inserted character or
48+
a copy of the input
49+
50+
\note The second variant of this function provides the strong exception-safety guarantee
51+
52+
*/
53+
template<typename OutputIteratorT, typename RangeT>
54+
inline OutputIteratorT
55+
to_lower_copy(
56+
OutputIteratorT Output,
57+
const RangeT& Input,
58+
const std::locale& Loc=std::locale())
59+
{
60+
return ::boost::algorithm::detail::transform_range_copy(
61+
Output,
62+
::boost::as_literal(Input),
63+
::boost::algorithm::detail::to_lowerF<
64+
typename range_value<RangeT>::type >(Loc));
65+
}
66+
67+
//! Convert to lower case
68+
/*!
69+
\overload
70+
*/
71+
template<typename SequenceT>
72+
inline SequenceT to_lower_copy(
73+
const SequenceT& Input,
74+
const std::locale& Loc=std::locale())
75+
{
76+
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
77+
Input,
78+
::boost::algorithm::detail::to_lowerF<
79+
typename range_value<SequenceT>::type >(Loc));
80+
}
81+
82+
//! Convert to lower case
83+
/*!
84+
Each element of the input sequence is converted to lower
85+
case. The input sequence is modified in-place.
86+
87+
\param Input A range
88+
\param Loc a locale used for conversion
89+
*/
90+
template<typename WritableRangeT>
91+
inline void to_lower(
92+
WritableRangeT& Input,
93+
const std::locale& Loc=std::locale())
94+
{
95+
::boost::algorithm::detail::transform_range(
96+
::boost::as_literal(Input),
97+
::boost::algorithm::detail::to_lowerF<
98+
typename range_value<WritableRangeT>::type >(Loc));
99+
}
100+
101+
// to_upper -----------------------------------------------//
102+
103+
//! Convert to upper case
104+
/*!
105+
Each element of the input sequence is converted to upper
106+
case. The result is a copy of the input converted to upper case.
107+
It is returned as a sequence or copied to the output iterator
108+
109+
\param Output An output iterator to which the result will be copied
110+
\param Input An input range
111+
\param Loc A locale used for conversion
112+
\return
113+
An output iterator pointing just after the last inserted character or
114+
a copy of the input
115+
116+
\note The second variant of this function provides the strong exception-safety guarantee
117+
*/
118+
template<typename OutputIteratorT, typename RangeT>
119+
inline OutputIteratorT
120+
to_upper_copy(
121+
OutputIteratorT Output,
122+
const RangeT& Input,
123+
const std::locale& Loc=std::locale())
124+
{
125+
return ::boost::algorithm::detail::transform_range_copy(
126+
Output,
127+
::boost::as_literal(Input),
128+
::boost::algorithm::detail::to_upperF<
129+
typename range_value<RangeT>::type >(Loc));
130+
}
131+
132+
//! Convert to upper case
133+
/*!
134+
\overload
135+
*/
136+
template<typename SequenceT>
137+
inline SequenceT to_upper_copy(
138+
const SequenceT& Input,
139+
const std::locale& Loc=std::locale())
140+
{
141+
return ::boost::algorithm::detail::transform_range_copy<SequenceT>(
142+
Input,
143+
::boost::algorithm::detail::to_upperF<
144+
typename range_value<SequenceT>::type >(Loc));
145+
}
146+
147+
//! Convert to upper case
148+
/*!
149+
Each element of the input sequence is converted to upper
150+
case. The input sequence is modified in-place.
151+
152+
\param Input An input range
153+
\param Loc a locale used for conversion
154+
*/
155+
template<typename WritableRangeT>
156+
inline void to_upper(
157+
WritableRangeT& Input,
158+
const std::locale& Loc=std::locale())
159+
{
160+
::boost::algorithm::detail::transform_range(
161+
::boost::as_literal(Input),
162+
::boost::algorithm::detail::to_upperF<
163+
typename range_value<WritableRangeT>::type >(Loc));
164+
}
165+
166+
} // namespace algorithm
167+
168+
// pull names to the boost namespace
169+
using algorithm::to_lower;
170+
using algorithm::to_lower_copy;
171+
using algorithm::to_upper;
172+
using algorithm::to_upper_copy;
173+
174+
} // namespace boost
175+
176+
#endif // BOOST_STRING_CASE_CONV_HPP

0 commit comments

Comments
 (0)