Namespaces
Variants
Views
Actions

Standard library header <numeric>

From cppreference.com
< cpp‎ | header
Revision as of 03:03, 6 July 2018 by Milkpot (Talk | contribs)

 
 
Standard library headers
Algorithms
<algorithm>
<numeric>
Strings
<cctype>
<cstring>
<cuchar> (C++11)
<cwchar>
<cwctype>
<string_view> (C++17)
<string>
Text processing
<clocale>
<codecvt> (C++11/17/26*)
<locale>
<regex> (C++11)
<text_encoding> (C++26)   
Numerics
<cfenv> (C++11)
<cmath>
<complex>
<linalg> (C++26)
<numbers> (C++20)
<random> (C++11)
<valarray>
Time
<chrono> (C++11)
<ctime>
C compatibility
<ccomplex> (C++11/17/20*)
<ciso646> (until C++20)
<cstdalign> (C++11/17/20*)
<cstdbool> (C++11/17/20*)
<ctgmath> (C++11/17/20*)
 

This header is part of the numeric library.

Functions

(C++11)
fills a range with successive increments of the starting value
(function template) [edit]
sums up or folds a range of elements
(function template) [edit]
(C++17)
similar to std::accumulate, except out of order
(function template) [edit]
applies an invocable, then reduces out of order
(function template) [edit]
computes the inner product of two ranges of elements
(function template) [edit]
computes the differences between adjacent elements in a range
(function template) [edit]
computes the partial sum of a range of elements
(function template) [edit]
similar to std::partial_sum, includes the ith input element in the ith sum
(function template) [edit]
similar to std::partial_sum, excludes the ith input element from the ith sum
(function template) [edit]
applies an invocable, then calculates inclusive scan
(function template) [edit]
applies an invocable, then calculates exclusive scan
(function template) [edit]
(C++17)
computes the greatest common divisor of two integers
(function template) [edit]
(C++17)
computes the least common multiple of two integers
(function template) [edit]

Synopsis

namespace std {
    template <class InputIterator, class T>
        T accumulate(InputIterator first, InputIterator last, T init);
    template <class InputIterator, class T, class BinaryOperation>
        T accumulate(InputIterator first, InputIterator last, T init,
            BinaryOperation binary_op);
 
    template <class InputIterator1, class InputIterator2, class T>
        T inner_product(InputIterator1 first1, InputIterator1 last1,
            InputIterator2 first2, T init);
    template <class InputIterator1, class InputIterator2, class T,
            class BinaryOperation1, class BinaryOperation2>
        T inner_product(InputIterator1 first1, InputIterator1 last1,
            InputIterator2 first2, T init,
            BinaryOperation1 binary_op1,
            BinaryOperation2 binary_op2);
 
    template <class InputIterator, class OutputIterator>
        OutputIterator partial_sum(InputIterator first,
            InputIterator last,
            OutputIterator result);
    template <class InputIterator, class OutputIterator,
            class BinaryOperation>
        OutputIterator partial_sum(InputIterator first,
            InputIterator last,
            OutputIterator result,
            BinaryOperation binary_op);
    template <class InputIterator, class OutputIterator>
        OutputIterator adjacent_difference(InputIterator first,
            InputIterator last,
            OutputIterator result);
    template <class InputIterator, class OutputIterator,
            class BinaryOperation>
        OutputIterator adjacent_difference(InputIterator first,
            InputIterator last,
            OutputIterator result,
            BinaryOperation binary_op);
 
    template <class ForwardIterator, class T>
        void iota(ForwardIterator first, ForwardIterator last, T value);
}