gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
functors.hpp File Reference

Functor class definitions. More...

#include <map>
#include <set>
#include <vector>
#include <chrono>
#include <sstream>
#include <algorithm>
#include <omp.h>
#include "gambit/Utils/util_types.hpp"
#include "gambit/Utils/util_functions.hpp"
#include "gambit/Utils/yaml_options.hpp"
#include "gambit/Utils/model_parameters.hpp"
#include "gambit/Logs/logger.hpp"
#include "gambit/Logs/logmaster.hpp"
Include dependency graph for functors.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gambit::variadic_ptr< TYPE, ARGS >
 Type redefinition to get around icc compiler bugs. More...
 
class  Gambit::functor
 Function wrapper (functor) base class. More...
 
class  Gambit::module_functor_common
 Functor derived class for module functions. More...
 
class  Gambit::module_functor< TYPE >
 Actual module functor type for all but TYPE=void. More...
 
class  Gambit::module_functor< void >
 Actual module functor type for TYPE=void. More...
 
class  Gambit::backend_functor_common< PTR_TYPE, TYPE, ARGS >
 Backend functor class for functions with result type TYPE and argumentlist ARGS. More...
 
class  Gambit::backend_functor< PTR_TYPE, TYPE, ARGS >
 Actual backend functor type. More...
 
class  Gambit::backend_functor< TYPE(*)(ARGS...), TYPE, ARGS... >
 Template specialisation for non-variadic, non-void backend functions. More...
 
class  Gambit::backend_functor< void(*)(ARGS...), void, ARGS... >
 Template specialisation for non-variadic, void backend functions. More...
 
class  Gambit::backend_functor< typename variadic_ptr< TYPE, ARGS... >::type, TYPE, ARGS... >
 Template specialisation for variadic, non-void backend functions. More...
 
class  Gambit::backend_functor< typename variadic_ptr< void, ARGS... >::type, void, ARGS... >
 Template specialisation for variadic void backend functions. More...
 
class  Gambit::model_functor
 Functors specific to ModelParameters objects. More...
 
class  Gambit::primary_model_functor
 Functors specific to primary ModelParameters objects. More...
 

Namespaces

 Gambit
 TODO: see if we can use this one:
 
 Gambit::Printers
 Forward declaration of Printers::BasePrinter class for use in print functions.
 
 Gambit::Models
 Forward declaration of Models::ModelFunctorClaw class for use in constructors.
 
 Gambit::FunctorHelp
 Definitions of friend functions from above.
 

Macros

#define FUNCTORS_FADE_RATE   0.01
 Decay rate of average runtime estimate [(number of functor evaluations)^-1]. More...
 
#define FUNCTORS_BASE_INVALIDATION_RATE   0.01
 Minimum invaldiation rate (should be 0<...<<1) More...
 
#define FUNCTORS_RUNTIME_INIT   0.000001
 Initial runtime estimate (s) More...
 

Functions

void Gambit::FunctorHelp::entering_multithreaded_region (module_functor_common &functor)
 
void Gambit::FunctorHelp::leaving_multithreaded_region (module_functor_common &functor)
 

Detailed Description

Functor class definitions.


Authors (add name and date if you modify):

Author
Pat Scott (patsc.nosp@m.ott@.nosp@m.physi.nosp@m.cs.m.nosp@m.cgill.nosp@m..ca)
Date
2013 Apr-July, Dec
2014 Jan, Mar-May, Sep
2015 Jan
Author
Anders Kvellestad (ander.nosp@m.s.kv.nosp@m.elles.nosp@m.tad@.nosp@m.fys.u.nosp@m.io.n.nosp@m.o)
Date
2013 Apr, Nov
Author
Christoph Weniger (c.wen.nosp@m.iger.nosp@m.@uva..nosp@m.nl)
Date
2013 May, June, July
Author
Ben Farmer (benja.nosp@m.min..nosp@m.farme.nosp@m.r@mo.nosp@m.nash..nosp@m.edu..nosp@m.au)
Date
2013 July, Sep
2014 Jan
Author
Lars A. Dal (l.a.d.nosp@m.al@f.nosp@m.ys.ui.nosp@m.o.no)
Date
2015 Jan

Definition in file functors.hpp.

Macro Definition Documentation

◆ FUNCTORS_BASE_INVALIDATION_RATE

#define FUNCTORS_BASE_INVALIDATION_RATE   0.01

Minimum invaldiation rate (should be 0<...<<1)

Definition at line 58 of file functors.hpp.

Referenced by Gambit::module_functor_common::acknowledgeInvalidation(), and Gambit::module_functor_common::finishTiming().

◆ FUNCTORS_FADE_RATE

#define FUNCTORS_FADE_RATE   0.01

Decay rate of average runtime estimate [(number of functor evaluations)^-1].

Definition at line 56 of file functors.hpp.

◆ FUNCTORS_RUNTIME_INIT

#define FUNCTORS_RUNTIME_INIT   0.000001

Initial runtime estimate (s)

Definition at line 60 of file functors.hpp.