Skip to content

File config.hpp

FileList > epiworld > config.hpp

Go to the source code of this file

Classes

Type Name
struct Event <typename TSeq>
Event data for update an agent.

Public Types

Type Name
typedef std::shared_ptr< Entity< TSeq > > EntityPtr
typedef std::function< void(Entity< TSeq > &, Model< TSeq > *)> EntityToAgentFun
Decides how to distribute entities at initialization.
enum uint8_t EventAction
typedef std::function< void(Event< TSeq > &, Model< TSeq > *)> EventFun
typedef std::shared_ptr< GlobalEvent< TSeq > > GlobalEventPtr
typedef std::function< void(Model< TSeq > *)> GlobalFun
typedef std::function< epiworld_double(Agent< TSeq > *, VirusPtr< TSeq > &, Model< TSeq > *)> MixerFun
typedef std::function< bool(Agent< TSeq > *, Virus< TSeq > &, Model< TSeq > *)> MutFun
typedef std::function< void(Agent< TSeq > *, Virus< TSeq > &, Model< TSeq > *)> PostRecoveryFun
typedef std::function< epiworld_double(Tool< TSeq > &, Agent< TSeq > *, VirusPtr< TSeq > &, Model< TSeq > *)> ToolFun
typedef std::shared_ptr< Tool< TSeq > > ToolPtr
typedef std::function< void(Tool< TSeq > &, Model< TSeq > *)> ToolToAgentFun
Decides how to distribute tools at initialization.
typedef std::function< void(Agent< TSeq > *, Model< TSeq > *)> UpdateFun
typedef std::function< epiworld_double(Agent< TSeq > *, Virus< TSeq > &, Model< TSeq > *)> VirusFun
typedef std::shared_ptr< Virus< TSeq > > VirusPtr
typedef std::function< void(Virus< TSeq > &, Model< TSeq > *)> VirusToAgentFun
Decides how to distribute viruses at initialization.

Macros

Type Name
define DEFAULT_TOOL_CONTAGION_REDUCTION 0.0
define DEFAULT_TOOL_DEATH_REDUCTION 0.0
define DEFAULT_TOOL_RECOVERY_ENHANCER 0.0
define DEFAULT_TOOL_TRANSMISSION_REDUCTION 0.0
define EPIWORLD_MAXNEIGHBORS 1048576
define EPI_CHECK_USER_INTERRUPT (a)
define EPI_DEBUG_ALL_NON_NEGATIVE (vect)
define EPI_DEBUG_ERROR (fmt, ...)
define EPI_DEBUG_FAIL_AT_TRUE (a, b) /* multi line expression */
define EPI_DEBUG_NOTIFY_ACTIVE ()
define EPI_DEBUG_PRINTF (fmt, ...)
define EPI_DEBUG_SUM_DBL (vect, num)
define EPI_DEBUG_SUM_INT (vect, num)
define EPI_DEBUG_VECTOR_MATCH_INT (a, b, c)
define EPI_DEFAULT_INCUBATION_DAYS 7.0
define EPI_DEFAULT_TSEQ int
define EPI_DEFAULT_VIRUS_PROB_DEATH 0.0
define EPI_DEFAULT_VIRUS_PROB_INFECTION 1.0
define EPI_DEFAULT_VIRUS_PROB_RECOVERY 0.1428
define EPI_GET_THREAD_ID () 0
define EPI_MAX_TRACKING 200
define epiexception (a) a
define epiworld_double float
define epiworld_fast_int int
define epiworld_fast_uint unsigned long long int
define printf_epiworld fflush(stdout);printf

Public Types Documentation

typedef EntityPtr

using EntityPtr =  std::shared_ptr< Entity< TSeq > >;

typedef EntityToAgentFun

Decides how to distribute entities at initialization.

using EntityToAgentFun =  std::function<void(Entity<TSeq>&,Model<TSeq>*)>;


enum EventAction

enum EventAction {
    AddVirus,
    AddTool,
    AddEntity,
    RemoveVirus,
    RemoveTool,
    RemoveEntity,
    ChangeState
};

typedef EventFun

using EventFun =  std::function<void(Event<TSeq>&,Model<TSeq>*)>;

typedef GlobalEventPtr

using GlobalEventPtr =  std::shared_ptr< GlobalEvent< TSeq > >;

typedef GlobalFun

using GlobalFun =  std::function<void(Model<TSeq>*)>;

typedef MixerFun

using MixerFun =  std::function<epiworld_double(Agent<TSeq>*,VirusPtr<TSeq>&,Model<TSeq>*)>;

typedef MutFun

using MutFun =  std::function<bool(Agent<TSeq>*,Virus<TSeq>&,Model<TSeq>*)>;

typedef PostRecoveryFun

using PostRecoveryFun =  std::function<void(Agent<TSeq>*,Virus<TSeq>&,Model<TSeq>*)>;

typedef ToolFun

using ToolFun =  std::function<epiworld_double(Tool<TSeq>&,Agent<TSeq>*,VirusPtr<TSeq>&,Model<TSeq>*)>;

typedef ToolPtr

using ToolPtr =  std::shared_ptr< Tool< TSeq > >;

typedef ToolToAgentFun

Decides how to distribute tools at initialization.

using ToolToAgentFun =  std::function<void(Tool<TSeq>&,Model<TSeq>*)>;


typedef UpdateFun

using UpdateFun =  std::function<void(Agent<TSeq>*,Model<TSeq>*)>;

typedef VirusFun

using VirusFun =  std::function<epiworld_double(Agent<TSeq>*,Virus<TSeq>&,Model<TSeq>*)>;

typedef VirusPtr

using VirusPtr =  std::shared_ptr< Virus< TSeq > >;

typedef VirusToAgentFun

Decides how to distribute viruses at initialization.

using VirusToAgentFun =  std::function<void(Virus<TSeq>&,Model<TSeq>*)>;


Macro Definition Documentation

define DEFAULT_TOOL_CONTAGION_REDUCTION

#define DEFAULT_TOOL_CONTAGION_REDUCTION `0.0`

define DEFAULT_TOOL_DEATH_REDUCTION

#define DEFAULT_TOOL_DEATH_REDUCTION `0.0`

define DEFAULT_TOOL_RECOVERY_ENHANCER

#define DEFAULT_TOOL_RECOVERY_ENHANCER `0.0`

define DEFAULT_TOOL_TRANSMISSION_REDUCTION

#define DEFAULT_TOOL_TRANSMISSION_REDUCTION `0.0`

define EPIWORLD_MAXNEIGHBORS

#define EPIWORLD_MAXNEIGHBORS `1048576`

define EPI_CHECK_USER_INTERRUPT

#define EPI_CHECK_USER_INTERRUPT (
    a
) 

define EPI_DEBUG_ALL_NON_NEGATIVE

#define EPI_DEBUG_ALL_NON_NEGATIVE (
    vect
) 

define EPI_DEBUG_ERROR

#define EPI_DEBUG_ERROR (
    fmt,
    ...
) 

define EPI_DEBUG_FAIL_AT_TRUE

#define EPI_DEBUG_FAIL_AT_TRUE (
    a,
    b
) `/* multi line expression */`

define EPI_DEBUG_NOTIFY_ACTIVE

#define EPI_DEBUG_NOTIFY_ACTIVE (

) 

define EPI_DEBUG_PRINTF

#define EPI_DEBUG_PRINTF (
    fmt,
    ...
) 

define EPI_DEBUG_SUM_DBL

#define EPI_DEBUG_SUM_DBL (
    vect,
    num
) 

define EPI_DEBUG_SUM_INT

#define EPI_DEBUG_SUM_INT (
    vect,
    num
) 

define EPI_DEBUG_VECTOR_MATCH_INT

#define EPI_DEBUG_VECTOR_MATCH_INT (
    a,
    b,
    c
) 

define EPI_DEFAULT_INCUBATION_DAYS

#define EPI_DEFAULT_INCUBATION_DAYS `7.0`

define EPI_DEFAULT_TSEQ

#define EPI_DEFAULT_TSEQ `int`

define EPI_DEFAULT_VIRUS_PROB_DEATH

#define EPI_DEFAULT_VIRUS_PROB_DEATH `0.0`

define EPI_DEFAULT_VIRUS_PROB_INFECTION

#define EPI_DEFAULT_VIRUS_PROB_INFECTION `1.0`

define EPI_DEFAULT_VIRUS_PROB_RECOVERY

#define EPI_DEFAULT_VIRUS_PROB_RECOVERY `0.1428`

define EPI_GET_THREAD_ID

#define EPI_GET_THREAD_ID (

) `0`

define EPI_MAX_TRACKING

#define EPI_MAX_TRACKING `200`

define epiexception

#define epiexception (
    a
) `a`

define epiworld_double

#define epiworld_double `float`

define epiworld_fast_int

#define epiworld_fast_int `int`

define epiworld_fast_uint

#define epiworld_fast_uint `unsigned long long int`

define printf_epiworld

#define printf_epiworld `fflush(stdout);printf`


The documentation for this class was generated from the following file epiworld-src/include/epiworld/config.hpp