NEML2 2.0.0
Loading...
Searching...
No Matches
DependencyDefinition< T > Class Template Referenceabstract

Detailed Description

template<typename T>
class neml2::DependencyDefinition< T >

Defines what this object consume and provide. The consumed and provided items will later be used in DependencyResolver to identify dependencies among a set of objects. In short, this object will depend on whoever provides any of this object's consumed items, and vice versa.

Template Parameters
TThe type of the consumed/provided items

#include <DependencyDefinition.h>

Public Member Functions

 DependencyDefinition ()=default
 
 DependencyDefinition (DependencyDefinition &&)=delete
 
 DependencyDefinition (const DependencyDefinition &)=delete
 
DependencyDefinitionoperator= (const DependencyDefinition &)=delete
 
DependencyDefinitionoperator= (DependencyDefinition &&)=delete
 
virtual ~DependencyDefinition ()=default
 
virtual std::set< T > consumed_items () const =0
 What this object consumes.
 
virtual std::set< T > provided_items () const =0
 What this object provides.
 

Constructor & Destructor Documentation

◆ DependencyDefinition() [1/3]

template<typename T >
DependencyDefinition ( )
default

◆ DependencyDefinition() [2/3]

template<typename T >
DependencyDefinition ( DependencyDefinition< T > && )
delete

◆ DependencyDefinition() [3/3]

template<typename T >
DependencyDefinition ( const DependencyDefinition< T > & )
delete

◆ ~DependencyDefinition()

template<typename T >
virtual ~DependencyDefinition ( )
virtualdefault

Member Function Documentation

◆ consumed_items()

template<typename T >
virtual std::set< T > consumed_items ( ) const
pure virtual

What this object consumes.

Implemented in Model.

◆ operator=() [1/2]

◆ operator=() [2/2]

template<typename T >
DependencyDefinition & operator= ( DependencyDefinition< T > && )
delete

◆ provided_items()

template<typename T >
virtual std::set< T > provided_items ( ) const
pure virtual

What this object provides.

Implemented in Model.