Templated specialization of the mdet::Channel::Discriminator::Callable interface. More...
#include <Channel.h>
Public Member Functions | |
virtual Callable * | Clone () const =0 |
To allow proper copy semantics (see implemetation). More... | |
double | operator() (double t) const |
Define the interface via which we will make the calls. More... | |
Proxy (const Functor &f) | |
Public Attributes | |
Channel::Discriminator::Callable * | const |
Private Attributes | |
const Functor & | fFunctor |
Templated specialization of the mdet::Channel::Discriminator::Callable interface.
The template argument provides the specific type of the object that provides the real final target function; object to which a reference is kept.
Note that, at last, in mdet::Channel::Discriminator::operator()(double t) the underlying type of the final object resolving the call is not known (allowing to skip what would have been a template parameter in the hosting class).
The combination of mdet::Channel::Discriminator::Callable and mdet::Channel::Discriminator::Proxy corresponds to a pattern better exemplified by Boost's shared_ptr. See http://www.artima.com/cppsource/top_cpp_aha_moments.html http://tinyurl.com/r66ql
Definition at line 101 of file MDetector/Channel.h.
|
inline |
Definition at line 103 of file MDetector/Channel.h.
|
pure virtualinherited |
To allow proper copy semantics (see implemetation).
|
inlinevirtual |
Define the interface via which we will make the calls.
Implements mdet::Channel::Discriminator::Callable.
Definition at line 104 of file MDetector/Channel.h.
References mdet::Channel::Discriminator::Proxy< Functor >::fFunctor.
Channel::Discriminator::Callable* mdet::Channel::Discriminator::Proxy< Functor >::const |
Definition at line 110 of file MDetector/Channel.h.
|
private |
Definition at line 130 of file MDetector/Channel.h.
Referenced by mdet::Channel::Discriminator::Proxy< Functor >::operator()().