14#define STRING_NAME(X) #X
16#define PUT_NAME_FUNCTION(Y) static const std::string name(void) {return STRING_NAME(Y); };
51 template <
class templateArgumentType,
size_t Nargs,
class templateReturnType =
double>
61 template <
size_t n,
class returnType,
class parameterType,
class ... Ts>
64 typedef typename FunctionOf < n - 1, returnType, parameterType,
72 template <
class returnType,
class parameterType,
class ... Ts>
100 value(
const templateArgumentType& arg1,
const templateArgumentType& arg2);
111#define SELECTION_VARIABLE( variableName, nArgs, argumentType, implementation ) \
112 class variableName: \
113 public SelectionVariable< argumentType , nArgs, double > \
116 static const std::string name(void) {return #variableName; }; \
Base class of the selection variable objects used for pair filtering.
SelectionVariable()
A bogus constructor.
FunctionOf< Nargs, variableType, constargumentType & >::functionType functionType
Type of the function returning the value.
templateArgumentType argumentType
Type of the argument object.
virtual ~SelectionVariable()
A bogus virtual denstructor.
static variableType value(const templateArgumentType &arg1, const templateArgumentType &arg2)
Static method that return the variable associated to:
static const size_t c_Nargs
Number of arguments.
templateReturnType variableType
Type of the returned object.
Abstract base class for different kinds of events.
std::function< returnType(Ts...)> functionType
Handy typedef for the functionType.
this struct is an internal utility.
FunctionOf< n-1, returnType, parameterType, parameterType, Ts... >::functionType functionType
Handy typedef for the functionType.