Skip to content

Commit 4e7b01c

Browse files
committed
Boost updated to 1.8.3.
1 parent bbbfea8 commit 4e7b01c

File tree

865 files changed

+42391
-21158
lines changed

Some content is hidden

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

865 files changed

+42391
-21158
lines changed

highlight-wrapper/boost/algorithm/algorithm.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <functional> // for plus and multiplies
2121

2222
#include <boost/config.hpp>
23-
#include <boost/utility/enable_if.hpp> // for boost::disable_if
23+
#include <boost/core/enable_if.hpp> // for boost::disable_if
2424
#include <boost/type_traits/is_integral.hpp>
2525

2626
namespace boost { namespace algorithm {

highlight-wrapper/boost/algorithm/apply_permutation.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#define BOOST_ALGORITHM_APPLY_PERMUTATION_HPP
2020

2121
#include <algorithm>
22-
#include <type_traits>
2322

2423
#include <boost/config.hpp>
2524
#include <boost/range/begin.hpp>

highlight-wrapper/boost/algorithm/clamp.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
#include <boost/config.hpp>
2727
#include <boost/range/begin.hpp>
2828
#include <boost/range/end.hpp>
29-
#include <boost/mpl/identity.hpp> // for identity
30-
#include <boost/utility/enable_if.hpp> // for boost::disable_if
29+
#include <boost/type_traits/type_identity.hpp> // for boost::type_identity
30+
#include <boost/core/enable_if.hpp> // for boost::disable_if
3131

3232
namespace boost { namespace algorithm {
3333

3434
/// \fn clamp ( T const& val,
35-
/// typename boost::mpl::identity<T>::type const & lo,
36-
/// typename boost::mpl::identity<T>::type const & hi, Pred p )
35+
/// typename boost::type_identity<T>::type const & lo,
36+
/// typename boost::type_identity<T>::type const & hi, Pred p )
3737
/// \return the value "val" brought into the range [ lo, hi ]
3838
/// using the comparison predicate p.
3939
/// If p ( val, lo ) return lo.
@@ -48,17 +48,17 @@ namespace boost { namespace algorithm {
4848
///
4949
template<typename T, typename Pred>
5050
BOOST_CXX14_CONSTEXPR T const & clamp ( T const& val,
51-
typename boost::mpl::identity<T>::type const & lo,
52-
typename boost::mpl::identity<T>::type const & hi, Pred p )
51+
typename boost::type_identity<T>::type const & lo,
52+
typename boost::type_identity<T>::type const & hi, Pred p )
5353
{
5454
// assert ( !p ( hi, lo )); // Can't assert p ( lo, hi ) b/c they might be equal
5555
return p ( val, lo ) ? lo : p ( hi, val ) ? hi : val;
5656
}
5757

5858

5959
/// \fn clamp ( T const& val,
60-
/// typename boost::mpl::identity<T>::type const & lo,
61-
/// typename boost::mpl::identity<T>::type const & hi )
60+
/// typename boost::identity<T>::type const & lo,
61+
/// typename boost::identity<T>::type const & hi )
6262
/// \return the value "val" brought into the range [ lo, hi ].
6363
/// If the value is less than lo, return lo.
6464
/// If the value is greater than "hi", return hi.
@@ -70,8 +70,8 @@ namespace boost { namespace algorithm {
7070
///
7171
template<typename T>
7272
BOOST_CXX14_CONSTEXPR T const& clamp ( const T& val,
73-
typename boost::mpl::identity<T>::type const & lo,
74-
typename boost::mpl::identity<T>::type const & hi )
73+
typename boost::type_identity<T>::type const & lo,
74+
typename boost::type_identity<T>::type const & hi )
7575
{
7676
return boost::algorithm::clamp ( val, lo, hi, std::less<T>());
7777
}

highlight-wrapper/boost/algorithm/cxx11/copy_if.hpp

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,86 @@ copy_until ( const Range &r, OutputIterator result, Predicate p )
126126
return boost::algorithm::copy_until (boost::begin (r), boost::end(r), result, p);
127127
}
128128

129+
/// \fn copy_if_while ( InputIterator first, InputIterator last, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred )
130+
/// \brief Copies all the elements from the input range that satisfy the
131+
/// copy predicate to the output range while the termination predicate is
132+
/// satisfied.
133+
/// \return The updated output iterator
134+
///
135+
/// \param first The start of the input sequence
136+
/// \param last One past the end of the input sequence
137+
/// \param result An output iterator to write the results into
138+
/// \param copy_pred A predicate for testing whether to the current element
139+
/// \param term_pred A predicate for testing whether to end the copy operation
140+
template<typename InputIterator, typename OutputIterator, typename CopyPredicate, typename TerminatePred>
141+
BOOST_CXX14_CONSTEXPR std::pair<InputIterator, OutputIterator>
142+
copy_if_while ( InputIterator first, InputIterator last, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred)
143+
{
144+
for ( ; first != last && term_pred(*first); ++first ) {
145+
if (copy_pred(*first)) {
146+
*result++ = *first;
147+
}
148+
}
149+
return std::make_pair(first, result);
150+
}
151+
152+
/// \fn copy_if_while ( const Range& r, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred )
153+
/// \brief Copies all the elements from the input range that satisfy the
154+
/// copy predicate to the output range while the termination predicate is
155+
/// satisfied.
156+
/// \return The updated output iterator
157+
///
158+
/// \param r The input range
159+
/// \param result An output iterator to write the results into
160+
/// \param copy_pred A predicate for testing whether to the current element
161+
/// \param term_pred A predicate for testing whether to end the copy operation
162+
template<typename Range, typename OutputIterator, typename CopyPredicate, typename TerminatePred>
163+
BOOST_CXX14_CONSTEXPR std::pair<typename boost::range_iterator<const Range>::type, OutputIterator>
164+
copy_if_while ( const Range& r, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred)
165+
{
166+
return boost::algorithm::copy_if_while(boost::begin(r), boost::end(r), result, copy_pred, term_pred);
167+
}
168+
169+
/// \fn copy_if_until ( InputIterator first, InputIterator last, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred )
170+
/// \brief Copies all the elements from the input range that satisfy the
171+
/// copy predicate to the output range until the termination predicate is
172+
/// satisfied.
173+
/// \return The updated output iterator
174+
///
175+
/// \param first The start of the input sequence
176+
/// \param last One past the end of the input sequence
177+
/// \param result An output iterator to write the results into
178+
/// \param copy_pred A predicate for testing whether to the current element
179+
/// \param term_pred A predicate for testing whether to end the copy operation
180+
template<typename InputIterator, typename OutputIterator, typename CopyPredicate, typename TerminatePred>
181+
BOOST_CXX14_CONSTEXPR std::pair<InputIterator, OutputIterator>
182+
copy_if_until ( InputIterator first, InputIterator last, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred)
183+
{
184+
for ( ; first != last && !term_pred(*first); ++first ) {
185+
if (copy_pred(*first)) {
186+
*result++ = *first;
187+
}
188+
}
189+
return std::make_pair(first, result);
190+
}
191+
192+
/// \fn copy_if_until ( const Range& r, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred )
193+
/// \brief Copies all the elements from the input range that satisfy the
194+
/// copy predicate to the output range until the termination predicate is
195+
/// satisfied.
196+
/// \return The updated output iterator
197+
///
198+
/// \param r The input range
199+
/// \param result An output iterator to write the results into
200+
/// \param copy_pred A predicate for testing whether to the current element
201+
/// \param term_pred A predicate for testing whether to end the copy operation
202+
template<typename Range, typename OutputIterator, typename CopyPredicate, typename TerminatePred>
203+
BOOST_CXX14_CONSTEXPR std::pair<typename boost::range_iterator<const Range>::type, OutputIterator>
204+
copy_if_until ( const Range& r, OutputIterator result, CopyPredicate copy_pred, TerminatePred term_pred)
205+
{
206+
return boost::algorithm::copy_if_until(boost::begin(r), boost::end(r), result, copy_pred, term_pred);
207+
}
208+
129209
}} // namespace boost and algorithm
130210

131211
#endif // BOOST_ALGORITHM_COPY_IF_HPP

highlight-wrapper/boost/algorithm/cxx11/is_permutation.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <boost/config.hpp>
2121
#include <boost/range/begin.hpp>
2222
#include <boost/range/end.hpp>
23-
#include <boost/utility/enable_if.hpp>
23+
#include <boost/core/enable_if.hpp>
2424
#include <boost/type_traits/is_same.hpp>
2525

2626
namespace boost { namespace algorithm {

highlight-wrapper/boost/algorithm/cxx11/is_sorted.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
#include <boost/range/begin.hpp>
2121
#include <boost/range/end.hpp>
2222

23-
#include <boost/utility/enable_if.hpp>
23+
#include <boost/core/enable_if.hpp>
2424
#include <boost/type_traits/is_same.hpp>
25-
#include <boost/mpl/identity.hpp>
25+
#include <boost/type_traits/type_identity.hpp> // for boost::type_identity
2626

2727
namespace boost { namespace algorithm {
2828

@@ -127,7 +127,7 @@ namespace boost { namespace algorithm {
127127
/// \param p A binary predicate that returns true if two elements are ordered.
128128
///
129129
template <typename R, typename Pred>
130-
BOOST_CXX14_CONSTEXPR typename boost::lazy_disable_if_c< boost::is_same<R, Pred>::value, boost::mpl::identity<bool> >::type
130+
BOOST_CXX14_CONSTEXPR typename boost::lazy_disable_if_c< boost::is_same<R, Pred>::value, boost::type_identity<bool> >::type
131131
is_sorted ( const R &range, Pred p )
132132
{
133133
return boost::algorithm::is_sorted ( boost::begin ( range ), boost::end ( range ), p );

highlight-wrapper/boost/algorithm/cxx17/transform_exclusive_scan.hpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@
2222

2323
namespace boost { namespace algorithm {
2424

25+
/// \fn transform_exclusive_scan ( InputIterator first, InputIterator last, OutputIterator result, BinaryOperation bOp, UnaryOperation uOp, T init )
26+
/// \brief Transforms elements from the input range with uOp and then combines
27+
/// those transformed elements with bOp such that the n-1th element and the nth
28+
/// element are combined. Exclusivity means that the nth element is not
29+
/// included in the nth combination.
30+
/// \return The updated output iterator
31+
///
32+
/// \param first The start of the input sequence
33+
/// \param last The end of the input sequence
34+
/// \param result The output iterator to write the results into
35+
/// \param bOp The operation for combining transformed input elements
36+
/// \param uOp The operation for transforming input elements
37+
/// \param init The initial value
38+
///
39+
/// \note This function is part of the C++17 standard library
2540
template<class InputIterator, class OutputIterator, class T,
2641
class BinaryOperation, class UnaryOperation>
2742
OutputIterator transform_exclusive_scan(InputIterator first, InputIterator last,

highlight-wrapper/boost/algorithm/cxx17/transform_inclusive_scan.hpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@
2222

2323
namespace boost { namespace algorithm {
2424

25+
/// \fn transform_inclusive_scan ( InputIterator first, InputIterator last, OutputIterator result, BinaryOperation bOp, UnaryOperation uOp, T init )
26+
/// \brief Transforms elements from the input range with uOp and then combines
27+
/// those transformed elements with bOp such that the n-1th element and the nth
28+
/// element are combined. Inclusivity means that the nth element is included in
29+
/// the nth combination.
30+
/// \return The updated output iterator
31+
///
32+
/// \param first The start of the input sequence
33+
/// \param last The end of the input sequence
34+
/// \param result The output iterator to write the results into
35+
/// \param bOp The operation for combining transformed input elements
36+
/// \param uOp The operation for transforming input elements
37+
/// \param init The initial value
38+
///
39+
/// \note This function is part of the C++17 standard library
2540
template<class InputIterator, class OutputIterator,
2641
class BinaryOperation, class UnaryOperation, class T>
2742
OutputIterator transform_inclusive_scan(InputIterator first, InputIterator last,
@@ -37,6 +52,20 @@ OutputIterator transform_inclusive_scan(InputIterator first, InputIterator last,
3752
return result;
3853
}
3954

55+
/// \fn transform_inclusive_scan ( InputIterator first, InputIterator last, OutputIterator result, BinaryOperation bOp, UnaryOperation uOp, T init )
56+
/// \brief Transforms elements from the input range with uOp and then combines
57+
/// those transformed elements with bOp such that the n-1th element and the nth
58+
/// element are combined. Inclusivity means that the nth element is included in
59+
/// the nth combination. The first value will be used as the init.
60+
/// \return The updated output iterator
61+
///
62+
/// \param first The start of the input sequence
63+
/// \param last The end of the input sequence
64+
/// \param result The output iterator to write the results into
65+
/// \param bOp The operation for combining transformed input elements
66+
/// \param uOp The operation for transforming input elements
67+
///
68+
/// \note This function is part of the C++17 standard library
4069
template<class InputIterator, class OutputIterator,
4170
class BinaryOperation, class UnaryOperation>
4271
OutputIterator transform_inclusive_scan(InputIterator first, InputIterator last,

highlight-wrapper/boost/algorithm/gather.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
Copyright 2008 Adobe Systems Incorporated
33
44
Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -84,7 +84,7 @@ namespace boost { namespace algorithm {
8484
template <
8585
typename BidirectionalIterator, // models BidirectionalIterator
8686
typename Pred> // models UnaryPredicate
87-
std::pair<BidirectionalIterator, BidirectionalIterator> gather
87+
std::pair<BidirectionalIterator, BidirectionalIterator> gather
8888
( BidirectionalIterator first, BidirectionalIterator last, BidirectionalIterator pivot, Pred pred )
8989
{
9090
// The first call partitions everything up to (but not including) the pivot element,
@@ -106,11 +106,11 @@ template <
106106
typename BidirectionalRange, //
107107
typename Pred> // Pred models UnaryPredicate
108108
std::pair<
109-
typename boost::range_iterator<const BidirectionalRange>::type,
110-
typename boost::range_iterator<const BidirectionalRange>::type>
109+
typename boost::range_iterator<BidirectionalRange>::type,
110+
typename boost::range_iterator<BidirectionalRange>::type>
111111
gather (
112-
const BidirectionalRange &range,
113-
typename boost::range_iterator<const BidirectionalRange>::type pivot,
112+
BidirectionalRange &range,
113+
typename boost::range_iterator<BidirectionalRange>::type pivot,
114114
Pred pred )
115115
{
116116
return boost::algorithm::gather ( boost::begin ( range ), boost::end ( range ), pivot, pred );

highlight-wrapper/boost/algorithm/hex.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#include <boost/exception/info.hpp>
3131
#include <boost/throw_exception.hpp>
3232

33-
#include <boost/utility/enable_if.hpp>
33+
#include <boost/core/enable_if.hpp>
3434
#include <boost/type_traits/is_integral.hpp>
3535

3636

@@ -48,9 +48,9 @@ namespace boost { namespace algorithm {
4848
\brief Thrown when the input sequence unexpectedly ends
4949
5050
*/
51-
struct hex_decode_error : virtual boost::exception, virtual std::exception {};
52-
struct not_enough_input : virtual hex_decode_error {};
53-
struct non_hex_input : virtual hex_decode_error {};
51+
struct BOOST_SYMBOL_VISIBLE hex_decode_error : virtual boost::exception, virtual std::exception {};
52+
struct BOOST_SYMBOL_VISIBLE not_enough_input : virtual hex_decode_error {};
53+
struct BOOST_SYMBOL_VISIBLE non_hex_input : virtual hex_decode_error {};
5454
typedef boost::error_info<struct bad_char_,char> bad_char;
5555

5656
namespace detail {

0 commit comments

Comments
 (0)