TVM  0.9.4
tvm::scheme::internal::ProblemDefinitionEvent Class Reference

#include <tvm/scheme/internal/ProblemDefinitionEvent.h>

Public Types

enum class  Type {
  WeightChange , AnisotropicWeightChange , TaskAddition , TaskRemoval ,
  SubstitutionAddition , SubstitutionRemoval
}
 
template<Type t>
using EmitterType = std::conditional_t< t<=Type::TaskRemoval, TaskWithRequirements, hint::Substitution >
 

Public Member Functions

 ProblemDefinitionEvent (Type type, const TaskWithRequirements &emitter)
 
 ProblemDefinitionEvent (Type type, hint::Substitution const *emitter)
 
 ProblemDefinitionEvent (const ProblemDefinitionEvent &)=default
 
 ProblemDefinitionEvent (ProblemDefinitionEvent &&)=default
 
ProblemDefinitionEventoperator= (const ProblemDefinitionEvent &)=default
 
ProblemDefinitionEventoperator= (ProblemDefinitionEvent &&)=default
 
Type type () const
 
void const * emitter () const
 
template<Type t>
const auto & typedEmitter () const
 

Detailed Description

A class describing a change in a problem definition.

Member Typedef Documentation

◆ EmitterType

Member Enumeration Documentation

◆ Type

Enumerator
WeightChange 
AnisotropicWeightChange 
TaskAddition 
TaskRemoval 
SubstitutionAddition 
SubstitutionRemoval 

Constructor & Destructor Documentation

◆ ProblemDefinitionEvent() [1/4]

tvm::scheme::internal::ProblemDefinitionEvent::ProblemDefinitionEvent ( Type  type,
const TaskWithRequirements emitter 
)
inline

◆ ProblemDefinitionEvent() [2/4]

tvm::scheme::internal::ProblemDefinitionEvent::ProblemDefinitionEvent ( Type  type,
hint::Substitution const *  emitter 
)
inline

◆ ProblemDefinitionEvent() [3/4]

tvm::scheme::internal::ProblemDefinitionEvent::ProblemDefinitionEvent ( const ProblemDefinitionEvent )
default

◆ ProblemDefinitionEvent() [4/4]

tvm::scheme::internal::ProblemDefinitionEvent::ProblemDefinitionEvent ( ProblemDefinitionEvent &&  )
default

Member Function Documentation

◆ emitter()

void const* tvm::scheme::internal::ProblemDefinitionEvent::emitter ( ) const
inline

◆ operator=() [1/2]

ProblemDefinitionEvent& tvm::scheme::internal::ProblemDefinitionEvent::operator= ( const ProblemDefinitionEvent )
default

◆ operator=() [2/2]

ProblemDefinitionEvent& tvm::scheme::internal::ProblemDefinitionEvent::operator= ( ProblemDefinitionEvent &&  )
default

◆ type()

Type tvm::scheme::internal::ProblemDefinitionEvent::type ( ) const
inline

◆ typedEmitter()

template<Type t>
const auto& tvm::scheme::internal::ProblemDefinitionEvent::typedEmitter ( ) const
inline

The documentation for this class was generated from the following file: