Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
Miscellaneous
complex
exception
functional
iterator
limits
locale
memory
new
numeric
stdexcept
typeinfo
utility
valarray
valarray
classes:
gslice
gslice_array
indirect_array
mask_array
slice
slice_array
valarray
global functions:
abs
acos
asin
atan
atan2
cos
cosh
exp
log
log10
pow
sin
sinh
sqrt
tan
tanh
valarray
valarray operators
valarray::valarray
valarray::~valarray
member functions:
valarray::apply
valarray::cshift
valarray::max
valarray::min
valarray::operator=
valarray::operator[]
valarray::resize
valarray::shift
valarray::size
valarray::sum


valarray::apply

public member function
valarray<T> apply (T func(T)) const;
valarray<T> apply (T func(const T&)) const;

Apply function

Returns a valarray with each of its elements initialized to the result of applying func to its corresponding element in *this.

The valarray returned has the same length as *this.

Parameters

func
Pointer to a function taking an argument of type T (or a constant reference) and returning T.
T is the template type of valarray (the elements' type).

Return value

A valarray object with the results of applying func to all the elements of *this.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// valarray::apply example
#include <iostream>
#include <valarray>
using namespace std;
int increment (int x) {return ++x;}
int main ()
{
  int init[]={10,20,30,40,50};
  valarray<int> foo (init,5);
  valarray<int> bar = foo.apply(increment);
  for (size_t n=0; n<bar.size(); n++)
	  cout << bar[n] << ' ';
  cout << endl;
  return 0;
}


Output:

11 21 31 41 51

See also