9 class TaskWithRequirements;
15 namespace scheme::internal
32 using EmitterType = std::conditional_t<t <= Type::TaskRemoval, TaskWithRequirements, hint::Substitution>;
35 : type_(
type), emitter_(static_cast<void const *>(&
emitter))
39 : type_(
type), emitter_(static_cast<void const *>(
emitter))
48 void const *
emitter()
const {
return emitter_; }
55 void const * emitter_;
Definition: ControlProblem.h:22
Definition: Substitution.h:29
Definition: ProblemDefinitionEvent.h:19
ProblemDefinitionEvent(Type type, const TaskWithRequirements &emitter)
Definition: ProblemDefinitionEvent.h:34
ProblemDefinitionEvent(const ProblemDefinitionEvent &)=default
ProblemDefinitionEvent(Type type, hint::Substitution const *emitter)
Definition: ProblemDefinitionEvent.h:38
ProblemDefinitionEvent & operator=(const ProblemDefinitionEvent &)=default
std::conditional_t< t<=Type::TaskRemoval, TaskWithRequirements, hint::Substitution > EmitterType
Definition: ProblemDefinitionEvent.h:32
void const * emitter() const
Definition: ProblemDefinitionEvent.h:48
Type type() const
Definition: ProblemDefinitionEvent.h:47
const auto & typedEmitter() const
Definition: ProblemDefinitionEvent.h:50
Type
Definition: ProblemDefinitionEvent.h:22
@ AnisotropicWeightChange
ProblemDefinitionEvent(ProblemDefinitionEvent &&)=default
ProblemDefinitionEvent & operator=(ProblemDefinitionEvent &&)=default