Class used to transform a vector elementwise using unary function.
More...
#include <UnaryFunction.hpp>
List of all members.
Public Member Functions |
| UnaryFunction (const Functor &f=Functor()) |
| Constructor.
|
template<class Vout , class Vin > |
Vout * | apply (const Vin *v) const |
| Apply a unary function to a vector.
|
Detailed Description
template<typename Functor, class AttributeCopier, template< typename, typename, typename > class FunctorWrapper = UnaryNAPropagator>
class CXXR::VectorOps::UnaryFunction< Functor, AttributeCopier, FunctorWrapper >
Class used to transform a vector elementwise using unary function.
An object of this class is used to map one vector into new vector of equal size, with each element of the output vector being obtained from the corresponding element of the input vector by the application of a unary function.
- Template Parameters:
-
Functor | Function or function object type, representing a unary function. |
AttributeCopier | This class must define a static member function with the signature copyAttributes(VectorBase* to, const VectorBase* from) . (Its return value, if any, is ignored.) The apply() method of UnaryFunction will invoke this member function to copy attributes from the unary function operand from to its result to . See the description of VectorOps::CopyAllAttributes for an example. |
FunctorWrapper | Each invocation of apply() will create an object of class FunctorWrapper<Functor>, and delegate to it the task of calling the unary function; the FunctorWrapper objects can then monitor any special conditions. See the description of VectorOps::UnaryNAPropagator for further information. |
Constructor & Destructor Documentation
template<typename Functor , class AttributeCopier , template< typename, typename, typename > class FunctorWrapper = UnaryNAPropagator>
Constructor.
- Parameters:
-
f | Pointer to an object of type Functor defining the unary function that this UnaryFunction object will use to generate an output vector from an input vector. |
Member Function Documentation
template<typename Functor , class AttributeCopier , template< typename, typename, typename > class FunctorWrapper>
template<class Vout , class Vin >
Apply a unary function to a vector.
- Template Parameters:
-
Vout | Class of vector to be produced as a result. It must be possible to assign values of the return type of f to the elements of a vector of type Vout . |
Vin | Class of vector to be taken as input. It must be possible implicitly to convert the element data type of Vin to the input type of f . |
- Parameters:
-
v | Non-null pointer to the input vector. |
- Returns:
- Pointer to the result vector, a newly created vector of the same size as v .
The documentation for this class was generated from the following file: