Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooFit::Detail::CFunctionMap< Func > Class Template Reference

template<class Func>
class RooFit::Detail::CFunctionMap< Func >

Name <-> pointer mapping service for C functions of type Func, used to persist the RooCFunction[1-4]Ref function pointer references.

Definition at line 38 of file CFunctionBinding.h.

Public Member Functions

template<class... ArgNames>
void add (const char *name, Func ptr, ArgNames... argNames)
 Register function with given name and argument names.
 
const char * lookupArgName (Func ptr, UInt_t iarg)
 Return name of i-th argument of function.
 
const char * lookupName (Func ptr)
 Return name of function given by pointer.
 
Func lookupPtr (const char *name)
 Return pointer of function given by name.
 
const char * nameOrAddress (Func ptr)
 Return registered name of a function.
 

Static Public Member Functions

static void * toVoidPtr (Func ptr)
 

Private Attributes

std::map< Func, std::vector< std::string > > _argnamemap
 
std::map< Func, std::string > _namemap
 
std::map< std::string, Func > _ptrmap
 

#include <RooFit/Detail/CFunctionBinding.h>

Member Function Documentation

◆ add()

template<class Func >
template<class... ArgNames>
void RooFit::Detail::CFunctionMap< Func >::add ( const char * name,
Func ptr,
ArgNames... argNames )
inline

Register function with given name and argument names.

Arguments without a name are called x, y, z, w.

Definition at line 43 of file CFunctionBinding.h.

◆ lookupArgName()

template<class Func >
const char * RooFit::Detail::CFunctionMap< Func >::lookupArgName ( Func ptr,
UInt_t iarg )
inline

Return name of i-th argument of function.

If no name was registered, the arguments are called x, y, z, w.

Definition at line 58 of file CFunctionBinding.h.

◆ lookupName()

template<class Func >
const char * RooFit::Detail::CFunctionMap< Func >::lookupName ( Func ptr)
inline

Return name of function given by pointer.

Definition at line 51 of file CFunctionBinding.h.

◆ lookupPtr()

template<class Func >
Func RooFit::Detail::CFunctionMap< Func >::lookupPtr ( const char * name)
inline

Return pointer of function given by name.

Definition at line 54 of file CFunctionBinding.h.

◆ nameOrAddress()

template<class Func >
const char * RooFit::Detail::CFunctionMap< Func >::nameOrAddress ( Func ptr)
inline

Return registered name of a function.

If the function is not registered, return a string with the hex representation of the pointer.

Definition at line 74 of file CFunctionBinding.h.

◆ toVoidPtr()

template<class Func >
static void * RooFit::Detail::CFunctionMap< Func >::toVoidPtr ( Func ptr)
inlinestatic

Definition at line 83 of file CFunctionBinding.h.

Member Data Documentation

◆ _argnamemap

template<class Func >
std::map<Func, std::vector<std::string> > RooFit::Detail::CFunctionMap< Func >::_argnamemap
private

Definition at line 97 of file CFunctionBinding.h.

◆ _namemap

template<class Func >
std::map<Func, std::string> RooFit::Detail::CFunctionMap< Func >::_namemap
private

Definition at line 96 of file CFunctionBinding.h.

◆ _ptrmap

template<class Func >
std::map<std::string, Func> RooFit::Detail::CFunctionMap< Func >::_ptrmap
private

Definition at line 95 of file CFunctionBinding.h.

  • roofit/roofit/inc/RooFit/Detail/CFunctionBinding.h