NodeOrTemplate Class Reference

#include <node_or_template.h>

Public Member Functions

 NodeOrTemplate ()=default
 
 NodeOrTemplate (const NodeSystem &sys)
 
 NodeOrTemplate (const NodeTemplate &templ, const TemplateArguments &args)
 
 NodeOrTemplate (const NodeSystem &sys, const NodeTemplate &templ, const TemplateArguments &args)
 
Bool IsPopulated () const
 
Bool IsEmpty () const
 
Bool IsTemplate () const
 
const NodeSystemGetNodeSystem () const
 
const NodeTemplate & GetTemplate () const
 
const IdGetId () const
 
const TemplateArgumentsGetArguments () const
 
void SetTemplate (const NodeTemplate &templ)
 
TemplateArgumentsGetArguments ()
 
Result< NodeSystemInstantiate (const InstantiationTrace &parent, const TemplateArguments &args, const NodeTemplate &instantiator, const TemplateArguments &instantiatorArgs) const
 
Result< NodeSystemGetTemplateNodeSystem (const InstantiationTrace &parent) const
 
 MAXON_OPERATOR_STRUCT (NodeOrTemplate, _system, _template, _arguments)
 

Private Attributes

NodeSystem _system
 
NodeTemplate _template
 
TemplateArguments _arguments
 

Friends

class NodeOrTemplateHelper
 

Constructor & Destructor Documentation

◆ NodeOrTemplate() [1/4]

NodeOrTemplate ( )
default

◆ NodeOrTemplate() [2/4]

NodeOrTemplate ( const NodeSystem sys)
explicit

◆ NodeOrTemplate() [3/4]

NodeOrTemplate ( const NodeTemplate &  templ,
const TemplateArguments args 
)

◆ NodeOrTemplate() [4/4]

NodeOrTemplate ( const NodeSystem sys,
const NodeTemplate &  templ,
const TemplateArguments args 
)

Member Function Documentation

◆ IsPopulated()

Bool IsPopulated ( ) const

◆ IsEmpty()

Bool IsEmpty ( ) const

◆ IsTemplate()

Bool IsTemplate ( ) const

◆ GetNodeSystem()

const NodeSystem& GetNodeSystem ( ) const

◆ GetTemplate()

const NodeTemplate& GetTemplate ( ) const

◆ GetId()

const Id& GetId ( ) const

◆ GetArguments() [1/2]

const TemplateArguments& GetArguments ( ) const

◆ SetTemplate()

void SetTemplate ( const NodeTemplate &  templ)

◆ GetArguments() [2/2]

TemplateArguments& GetArguments ( )

◆ Instantiate()

Result<NodeSystem> Instantiate ( const InstantiationTrace &  parent,
const TemplateArguments args,
const NodeTemplate &  instantiator,
const TemplateArguments instantiatorArgs 
) const

◆ GetTemplateNodeSystem()

Result<NodeSystem> GetTemplateNodeSystem ( const InstantiationTrace &  parent) const

◆ MAXON_OPERATOR_STRUCT()

MAXON_OPERATOR_STRUCT ( NodeOrTemplate  ,
_system  ,
_template  ,
_arguments   
)

Friends And Related Function Documentation

◆ NodeOrTemplateHelper

friend class NodeOrTemplateHelper
friend

Member Data Documentation

◆ _system

NodeSystem _system
private

◆ _template

NodeTemplate _template
private

◆ _arguments