NodeTemplateArgumentErrorInterface Class Reference

#include <nodeerrors.h>

Inheritance diagram for NodeTemplateArgumentErrorInterface:

Detailed Description

Return this error if the template arguments received by a node are not compatible with what the node expects. This will allow the NodeSystem to keep the node in the graph and make a second pass to reinstantiate the failed node with the proper template arguments.

Note
Only when the #keepNode flag is true will the erroneous node be kept for a second attempt.

Public Member Functions

 MAXON_ADD_TO_COPY_ON_WRITE_REFERENCE_CLASS (protected:void Create(MAXON_SOURCE_LOCATION_DECLARATION) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const DataDictionary &args, const String &msg, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(TemplateArguments(args));e.SetMessage(msg);e.SetKeepNode(keepNode);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const TemplateArguments &args, const String &msg, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(args);e.SetMessage(msg);e.SetKeepNode(keepNode);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const TemplateArguments &args, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(args);e.SetKeepNode(keepNode);})
 
MAXON_METHOD void SetArgs (const TemplateArguments &args)
 
MAXON_FUNCTION void SetArgs (const DataDictionary &args)
 
MAXON_METHOD const TemplateArgumentsGetArgs () const
 
MAXON_METHOD void SetKeepNode (Bool keepNode)
 
MAXON_METHOD Bool GetKeepNode () const
 

Private Member Functions

 MAXON_INTERFACE (NodeTemplateArgumentErrorInterface, MAXON_REFERENCE_COPY_ON_WRITE, "net.maxon.interface.node.templateargumenterror")
 

Member Function Documentation

◆ MAXON_INTERFACE()

MAXON_INTERFACE ( NodeTemplateArgumentErrorInterface  ,
MAXON_REFERENCE_COPY_ON_WRITE  ,
"net.maxon.interface.node.templateargumenterror"   
)
private

◆ MAXON_ADD_TO_COPY_ON_WRITE_REFERENCE_CLASS()

MAXON_ADD_TO_COPY_ON_WRITE_REFERENCE_CLASS ( protected:void Create(MAXON_SOURCE_LOCATION_DECLARATION) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const DataDictionary &args, const String &msg, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(TemplateArguments(args));e.SetMessage(msg);e.SetKeepNode(keepNode);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const TemplateArguments &args, const String &msg, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(args);e.SetMessage(msg);e.SetKeepNode(keepNode);} void Create(MAXON_SOURCE_LOCATION_DECLARATION, const TemplateArguments &args, Bool keepNode=false) { *static_cast< typename S::DirectlyReferencedType::Hxx1::ReferenceClass * >(this)=S::DirectlyReferencedType::Hxx1::ErrObj::GetInstance()();typename S::DirectlyReferencedType::Ptr e=this->MakeWritable(false).GetPointer();e.SetLocation(MAXON_SOURCE_LOCATION_FORWARD);e.SetArgs(args);e.SetKeepNode(keepNode);}  )

◆ SetArgs() [1/2]

MAXON_METHOD void SetArgs ( const TemplateArguments args)

Set arguments that led to the error.

Parameters
[in]argsArguments to set in the error.

◆ SetArgs() [2/2]

MAXON_FUNCTION void SetArgs ( const DataDictionary &  args)

Set arguments that led to the error.

Parameters
[in]argsArguments to set in the error.

◆ GetArgs()

MAXON_METHOD const TemplateArguments& GetArgs ( ) const

Returns the corresponding arguments.

Returns
The arguments related to this error.

◆ SetKeepNode()

MAXON_METHOD void SetKeepNode ( Bool  keepNode)

Enable flag to maintain the node in the graph for reinstantiation attempt.

Parameters
[in]keepNodeTrue to keep the erroneous node.

◆ GetKeepNode()

MAXON_METHOD Bool GetKeepNode ( ) const

Read keep node flag.

See also
SetKeepNode.
Returns
True if keep node is active.