#include <nodeerrors.h>
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.
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 TemplateArguments & | GetArgs () 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") | |
|
private |
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 | ) |
Set arguments that led to the error.
[in] | args | Arguments to set in the error. |
MAXON_FUNCTION void SetArgs | ( | const DataDictionary & | args | ) |
Set arguments that led to the error.
[in] | args | Arguments to set in the error. |
MAXON_METHOD const TemplateArguments& GetArgs | ( | ) | const |
Returns the corresponding arguments.
MAXON_METHOD void SetKeepNode | ( | Bool | keepNode | ) |
Enable flag to maintain the node in the graph for reinstantiation attempt.
[in] | keepNode | True to keep the erroneous node. |
MAXON_METHOD Bool GetKeepNode | ( | ) | const |