ug4
time_integrator_subject.hpp File Reference

Go to the source code of this file.

Classes

class  ug::TimeIntegratorSubject< TDomain, TAlgebra >
 Base class for a subject notifying observers attachment. More...
 

Namespaces

 ug
 the ug namespace
 

Macros

#define DECLARE_CHECK_STATIC_ATTACH(stage, container)
 
#define DECLARE_NOTIFY_STEP(functionName, stageName, stageID, container)
 

Macro Definition Documentation

◆ DECLARE_CHECK_STATIC_ATTACH

#define DECLARE_CHECK_STATIC_ATTACH (   stage,
  container 
)
Value:
bool check_attach_##stage(SmartPtr<process_observer_type> obs)\
{\
SmartPtr<stage##_observer_type> sp_staticObs = obs.template cast_dynamic<stage##_observer_type>();\
if (sp_staticObs.valid())\
{\
(container).push_back(sp_staticObs);\
return true;\
}\
return false;\
}
Definition: smart_pointer.h:108

◆ DECLARE_NOTIFY_STEP

#define DECLARE_NOTIFY_STEP (   functionName,
  stageName,
  stageID,
  container 
)
Value:
bool notify_##functionName(SmartPtr<grid_function_type> u, int step, number time, number dt)\
{\
bool res = notify_group<(stageID)>(u, step, time, dt);\
const size_t numObs = (container).size();\
for (size_t o = 0; o < numObs; ++o)\
res &= (container)[o]->stageName##_action(u, step, time, dt);\
return res;\
}
double number
Definition: types.h:124