diff options
Diffstat (limited to 'src/third_party/boost-1.69.0/boost/algorithm/cxx17/inclusive_scan.hpp')
-rw-r--r-- | src/third_party/boost-1.69.0/boost/algorithm/cxx17/inclusive_scan.hpp | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/third_party/boost-1.69.0/boost/algorithm/cxx17/inclusive_scan.hpp b/src/third_party/boost-1.69.0/boost/algorithm/cxx17/inclusive_scan.hpp deleted file mode 100644 index 5c60c39d20a..00000000000 --- a/src/third_party/boost-1.69.0/boost/algorithm/cxx17/inclusive_scan.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - Copyright (c) Marshall Clow 2017. - - 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) -*/ - -/// \file transform_reduce.hpp -/// \brief Combine the (transformed) elements of a sequence (or two) into a single value. -/// \author Marshall Clow - -#ifndef BOOST_ALGORITHM_TRANSFORM_REDUCE_HPP -#define BOOST_ALGORITHM_TRANSFORM_REDUCE_HPP - -#include <functional> // for std::plus -#include <iterator> // for std::iterator_traits - -#include <boost/range/begin.hpp> -#include <boost/range/end.hpp> -#include <boost/range/value_type.hpp> - -namespace boost { namespace algorithm { - -template<class InputIterator, class OutputIterator, class T, class BinaryOperation> -OutputIterator inclusive_scan(InputIterator first, InputIterator last, - OutputIterator result, BinaryOperation bOp, T init) -{ - for (; first != last; ++first, (void) ++result) { - init = bOp(init, *first); - *result = init; - } - return result; -} - - -template<class InputIterator, class OutputIterator, class BinaryOperation> -OutputIterator inclusive_scan(InputIterator first, InputIterator last, - OutputIterator result, BinaryOperation bOp) -{ - if (first != last) { - typename std::iterator_traits<InputIterator>::value_type init = *first; - *result++ = init; - if (++first != last) - return boost::algorithm::inclusive_scan(first, last, result, bOp, init); - } - - return result; -} - -template<class InputIterator, class OutputIterator> -OutputIterator inclusive_scan(InputIterator first, InputIterator last, - OutputIterator result) -{ - typedef typename std::iterator_traits<InputIterator>::value_type VT; - return boost::algorithm::inclusive_scan(first, last, result, std::plus<VT>()); -} - -}} // namespace boost and algorithm - -#endif // BOOST_ALGORITHM_TRANSFORM_REDUCE_HPP |