[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

vigra_ext::NestFunctor< F1, F2 > Struct Template Reference

functor to combine two functors: result = f1( f2(v) ) More...

#include <utils.h>

List of all members.

Public Types

typedef F1::result_type result_type
 the functor's second argument type

Public Member Functions

 NestFunctor (const F1 &fu1, const F2 &fu2)
template<class T1>
result_type operator() (T1 const &v) const
template<class T1, class T2>
result_type operator() (T1 const &v1, T2 const &v2) const
 if F2 takes 2 arguments
template<class T1, class T2, class T3>
result_type operator() (T1 const &v1, T2 const &v2, T3 const &v3) const
 if F2 takes 3 arguments

Public Attributes

F1 f1
F2 f2


Detailed Description

template<class F1, class F2>
struct vigra_ext::NestFunctor< F1, F2 >

functor to combine two functors: result = f1( f2(v) )

The functors are copied, so there is no way to get their internal state after they have been applied.

This is quite useful for multithreaded processing.


Member Typedef Documentation

template<class F1, class F2>
typedef F1::result_type vigra_ext::NestFunctor< F1, F2 >::result_type
 

the functor's second argument type


Constructor & Destructor Documentation

template<class F1, class F2>
vigra_ext::NestFunctor< F1, F2 >::NestFunctor const F1 &  fu1,
const F2 &  fu2
[inline]
 


Member Function Documentation

template<class F1, class F2>
template<class T1, class T2, class T3>
result_type vigra_ext::NestFunctor< F1, F2 >::operator() T1 const &  v1,
T2 const &  v2,
T3 const &  v3
const [inline]
 

if F2 takes 3 arguments

template<class F1, class F2>
template<class T1, class T2>
result_type vigra_ext::NestFunctor< F1, F2 >::operator() T1 const &  v1,
T2 const &  v2
const [inline]
 

if F2 takes 2 arguments

template<class F1, class F2>
template<class T1>
result_type vigra_ext::NestFunctor< F1, F2 >::operator() T1 const &  v  )  const [inline]
 


Member Data Documentation

template<class F1, class F2>
F1 vigra_ext::NestFunctor< F1, F2 >::f1
 

template<class F1, class F2>
F2 vigra_ext::NestFunctor< F1, F2 >::f2
 


The documentation for this struct was generated from the following file:

Generated on Mon Sep 20 01:01:37 2010 for Hugintrunk by doxygen 1.3.9.1