CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 > Struct Template Reference

#include <SimpleFunctors.h>

Inheritance diagram for npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >:
npstat::Functor3< Result, Arg1, Arg2, Arg3 >

Public Member Functions

 FcnFunctor3 (Result(*fcn)(Arg1, Arg2, Arg3))
 
 FcnFunctor3 ()=delete
 
Result operator() (const Arg1 &x, const Arg2 &y, const Arg3 &z) const
 
- Public Member Functions inherited from npstat::Functor3< Result, Arg1, Arg2, Arg3 >
virtual ~Functor3 ()
 

Private Attributes

Result(* fcn_ )(Arg1, Arg2, Arg3)
 

Additional Inherited Members

- Public Types inherited from npstat::Functor3< Result, Arg1, Arg2, Arg3 >
typedef Arg1 first_argument_type
 
typedef Result result_type
 
typedef Arg2 second_argument_type
 
typedef Arg3 third_argument_type
 

Detailed Description

template<typename Result, typename Arg1, typename Arg2, typename Arg3>
struct npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >

Adaptation for using three-argument functors with simple cmath-style functions. Do not use this struct as a base class.

Definition at line 168 of file SimpleFunctors.h.

Constructor & Destructor Documentation

◆ FcnFunctor3() [1/2]

template<typename Result , typename Arg1 , typename Arg2 , typename Arg3 >
npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >::FcnFunctor3 ( Result(*)(Arg1, Arg2, Arg3)  fcn)
inlineexplicit

Definition at line 169 of file SimpleFunctors.h.

169 : fcn_(fcn) {}
Result(* fcn_)(Arg1, Arg2, Arg3)
void fcn(int &, double *, double &, double *, int)

◆ FcnFunctor3() [2/2]

template<typename Result , typename Arg1 , typename Arg2 , typename Arg3 >
npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >::FcnFunctor3 ( )
delete

Member Function Documentation

◆ operator()()

template<typename Result , typename Arg1 , typename Arg2 , typename Arg3 >
Result npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >::operator() ( const Arg1 &  x,
const Arg2 &  y,
const Arg3 &  z 
) const
inlinevirtual

Implements npstat::Functor3< Result, Arg1, Arg2, Arg3 >.

Definition at line 171 of file SimpleFunctors.h.

References npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >::fcn_, and x.

171 { return fcn_(x, y, z); }
Result(* fcn_)(Arg1, Arg2, Arg3)

Member Data Documentation

◆ fcn_

template<typename Result , typename Arg1 , typename Arg2 , typename Arg3 >
Result(* npstat::FcnFunctor3< Result, Arg1, Arg2, Arg3 >::fcn_) (Arg1, Arg2, Arg3)
private