DPsim
Public Types | Public Member Functions | Protected Attributes | List of all members
CPS::AttributeUpdateTask< DependentType, DependencyTypes > Class Template Reference

#include <Attribute.h>

Inheritance diagram for CPS::AttributeUpdateTask< DependentType, DependencyTypes >:
[legend]
Collaboration diagram for CPS::AttributeUpdateTask< DependentType, DependencyTypes >:
[legend]

Public Types

using Actor = std::function< void(std::shared_ptr< DependentType > &, typename Attribute< DependencyTypes >::Ptr...)>
 
- Public Types inherited from CPS::AttributeUpdateTaskBase< DependentType >
typedef std::shared_ptr< AttributeUpdateTaskBase< DependentType > > Ptr
 

Public Member Functions

 AttributeUpdateTask (UpdateTaskKind kind, Actor &actorFunction, typename Attribute< DependencyTypes >::Ptr... dependencies)
 
virtual void executeUpdate (std::shared_ptr< DependentType > &dependent) override
 
virtual AttributeBase::List getDependencies () override
 

Protected Attributes

std::tuple< typename Attribute< DependencyTypes >::Ptr... > mDependencies
 
Actor mActorFunction
 
UpdateTaskKind mKind
 

Additional Inherited Members

- Static Public Member Functions inherited from SharedFactory< AttributeUpdateTask< DependentType, DependencyTypes... > >
static std::shared_ptr< AttributeUpdateTask< DependentType, DependencyTypes... > > make (Args &&...args)
 

Detailed Description

template<class DependentType, class... DependencyTypes>
class CPS::AttributeUpdateTask< DependentType, DependencyTypes >

Specialized class for AttributeUpdateTasks that includes information about the types of attributes this task depends on.

Parameters
DependentTypeThe type of the attribute which is updated by this task
DependencyTypesList of the types of the attributes whose values are used to update the dependent attribute

Definition at line 219 of file Attribute.h.

Member Function Documentation

◆ getDependencies()

template<class DependentType , class... DependencyTypes>
virtual AttributeBase::List CPS::AttributeUpdateTask< DependentType, DependencyTypes >::getDependencies ( )
inlineoverridevirtual

Returns all dependency elements in the mDependency tuple in a list over AttributeBase pointers.

Implements CPS::AttributeUpdateTaskBase< DependentType >.

Definition at line 251 of file Attribute.h.


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