C++ valarray Library - Function apply


Description

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

Declaration

Following is the declaration for std::valarray::apply function.

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

C++11

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

Parameters

func − It is a pointer to a function taking an argument of type T.

Return Value

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

Exceptions

Basic guarantee − if any operation performed on the elements throws an exception.

Data races

All elements effectively copied are accessed.

Example

In below example explains about std::valarray::apply function.

#include <iostream>
#include <cstddef>
#include <valarray>

int increment (int x) {return ++x;}

int main () {
   int init[]={0,10,20,30,40};
   std::valarray<int> foo (init,5);

   std::valarray<int> bar = foo.apply(increment);

   std::cout << "foo contains:";
   for (std::size_t n=0; n<bar.size(); n++)
      std::cout << ' ' << bar[n];
   std::cout << '\n';

   return 0;
}

Let us compile and run the above program, this will produce the following result −

foo contains: 1 11 21 31 41 
valarray.htm
Advertisements