Vuo 2.4.4
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
VuoCompilerPublishedNodeClass Class Referenceabstract

Description

Virtual base class for node classes used to handle published ports when generating code.

Definition at line 20 of file VuoCompilerPublishedNodeClass.hh.

Public Member Functions

string getFileName (void)
 Returns the file name (with extension) that this node class should have when saved to file — a mangled (shortened) file name so as not to exceed the operating system's limit on file name length.
 
- Public Member Functions inherited from VuoCompilerSpecializedNodeClass
bool updateGenericNodeClass (std::function< VuoCompilerNodeClass *(const string &)> lookUpNodeClass)
 Attempts to update the stored reference to the generic node class from which this specialized node class is derived.
 
void updateBackingNodeClass (VuoNode *nodeToBack, VuoCompiler *compiler)
 Updates the implementation for this VuoCompilerSpecializedNodeClass to be consistent with the backing types of nodeToBack, and updates the VuoCompilerNode of nodeToBack to be consistent with that implementation.
 
bool isFullySpecialized (void)
 Returns true if this node class has no unspecialized generic types.
 
set< string > getDependencies (void)
 If the backing node class exists, this function is performed on the backing node class instead of this node class.
 
string getDependencyName (void)
 If the backing node class exists, this function is performed on the backing node class instead of this node class.
 
- Public Member Functions inherited from VuoCompilerNodeClass
VuoNodenewNode (string title="", double x=0, double y=0)
 Creates a substantial base node instance from this node class.
 
VuoNodenewNode (VuoNode *nodeToCopyMetadataFrom)
 Creates a substantial base node instance with its metadata copied from the existing nodeToCopyMetadataFrom.
 
virtual ~VuoCompilerNodeClass (void)
 Destructor.
 
bool isLikelyImageFilter (void)
 Returns true if this node class is likely an image filter, based on its image-type input and output port counts.
 
bool isLikelyImageGenerator (void)
 Returns true if this node class is likely an image generator, based on its image-type input and output port counts.
 
bool isLikelyImageTransition (void)
 Returns true if this node class is likely an image transition, based on its image-type input and output port counts.
 
int getImagePortCount (bool isInput)
 Returns the number of image-type input or output ports belonging to this node class.
 
bool isSubcomposition (void)
 Returns true if this node class is a subcomposition (implemented in Vuo language, as opposed to text code).
 
bool isIsf (void)
 Returns true if this node class is implemented in ISF text code.
 
set< pair< string, string > > getContainedNodes (void)
 Returns the nodes (node identifier and node class name) contained within this subcomposition.
 
- Public Member Functions inherited from VuoBaseDetail< VuoNodeClass >
 VuoBaseDetail (string description, VuoNodeClass *base)
 Creates a detail class.
 
VuoNodeClassgetBase (void) const
 Returns the detail class instance's base class instance.
 
void setBase (VuoNodeClass *base)
 Sets the detail class instance's base class instance.
 
- Public Member Functions inherited from VuoCompilerModule
virtual ~VuoCompilerModule (void)
 Destructor.
 
virtual string getDependencyPath (void)
 Returns the path that would represent this VuoCompilerModule in a dependency file.
 
VuoCompilerCompatibility getCompatibleTargets (void)
 Returns the set of targets (operating system versions) with which this module is compatible.
 
Module * getModule (void)
 Returns this VuoCompilerModule's LLVM module, which other LLVM modules can link to.
 
VuoModulegetPseudoBase (void)
 Returns the (pseudo) base for this (pseudo) compiler detail class.
 
bool isBuiltIn (void)
 Returns true if this module is one of the built-in modules distributed with Vuo.
 
void setBuiltIn (bool builtIn)
 Sets whether this module is one of the built-in modules distributed with Vuo.
 
string getModulePath (void)
 Returns the file from which the LLVM module was loaded, or an empty string if the module was contained in an archive or generated by the compiler.
 
void setSourcePath (const string &sourcePath)
 Stores the path of the source file for this module.
 
string getSourcePath (void)
 Returns the stored path of the source file for this module, if any.
 
void setSourceCode (const string &sourceCode)
 Stores the source code for this module.
 
string getSourceCode (void)
 Returns the stored source code for this module, if any.
 
shared_ptr< VuoMakeDependenciesgetMakeDependencies (void)
 Returns the stored dependency file contents for this module, if any.
 

Static Public Member Functions

static bool isPublishedNodeClassName (const string &nodeClassName)
 Returns true if the name has the format of a published input or output node class name.
 
static string getFileNameForModuleKey (const string &moduleKey)
 Returns the file name (with extension) that a published input/output node class with the given module key would have when saved to file.
 
static bool isModuleKeyMangledInFileName (const string &fileName)
 Returns true — a node class with the given file name (with extension) would have a module key other than the file name minus extension.
 
- Static Public Member Functions inherited from VuoCompilerSpecializedNodeClass
static bool hasGenericPortTypes (VuoCompilerNodeClass *nodeClass)
 Returns true if the node class has at least one unspecialized generic type.
 
static string parseGenericNodeClassName (string specializedNodeClassName, size_t genericTypeCount)
 Extracts the generic node class name from the specialized node class name by removing type names from the end.
 
static string createSpecializedNodeClassName (string genericNodeClassName, vector< string > specializedTypeNames)
 Creates a specialized node class name by appending type names to the generic node class name.
 
static VuoNodeClassnewNodeClass (const string &nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue)
 Generates a specalized node class from a generic node class.
 
static VuoNodeClassnewNodeClass (const string &nodeClassName, Module *module)
 Creates a compiler and base node class from the node class implementation in the module, or returns null if the implementation is not of a specialized node class.
 
static json_object * buildSpecializedModuleDetails (const map< string, string > &specializedForGenericTypeName, const string &genericNodeClassName="")
 Constructs the value for the "specializedModule" key to be added to VuoModuleMetadata.
 
static VuoCompilerNodeClassgetNodeClassForNode (VuoCompilerNodeClass *origNodeClass, VuoCompiler *compiler)
 Returns the node class to use for instantiating a node within a composition.
 
static bool isSpecializationOfNodeClass (const string &potentialSpecializedNodeClassName, VuoCompilerNodeClass *potentialGenericNodeClass)
 Returns true if potentialSpecializedNodeClassName is one of the possible specializations of potentialGenericNodeClass.
 
- Static Public Member Functions inherited from VuoCompilerNodeClass
static VuoNodeClassnewNodeClass (string nodeClassName, Module *module)
 Creates a new substantial VuoNodeClass from the node class definition in the module.
 
static VuoNodeClassnewNodeClassWithoutImplementation (VuoNodeClass *baseNodeClass)
 Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.
 
static string getFileNameForModuleKey (const string &moduleKey)
 Returns the file name (with extension) that a node class with the given module key would have when saved to file.
 
static bool isModuleKeyMangledInFileName (const string &fileName)
 Returns true if a node class with the given file name (with extension) would have a module key other than the file name minus extension.
 
- Static Public Member Functions inherited from VuoCompilerModule
static VuoCompilerModulenewModule (const string &moduleKey, Module *module, const string &modulePath, const VuoCompilerCompatibility &moduleCompatibility)
 Instantiates a VuoCompilerModule (or child class) corresponding to the type of VuoCompilerModule defined in the LLVM module.
 
static VuoCompilerCompatibility parseCompatibility (json_object *o, string key)
 Parses the target set value for key in the top level of the JSON object.
 
static void parseGenericTypes (json_object *moduleDetails, vector< string > &genericTypeNames, map< string, string > &defaultSpecializedForGenericTypeName, map< string, vector< string > > &compatibleSpecializedForGenericTypeName)
 Parses the "genericTypes" portion of a module's metadata.
 
static Function * declareFunctionInModule (Module *module, Function *function)
 Copies the function's header into the LLVM module, if it's not already there.
 
static string getFileNameForModuleKey (const string &moduleKey)
 Returns the file name (with extension) that a module with the given module key would have when saved to file.
 
static bool isModuleKeyMangledInFileName (const string &fileName)
 Returns true if a module with the given file name (with extension) would have a module key other than the file name minus extension.
 

Protected Member Functions

 VuoCompilerPublishedNodeClass (string nodeClassName, Module *module)
 Creates a node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass.
 
 VuoCompilerPublishedNodeClass (VuoCompilerPublishedNodeClass *compilerNodeClass)
 Creates a new compiler node class and a new base VuoNodeClass, both from compilerNodeClass.
 
 VuoCompilerPublishedNodeClass (VuoNodeClass *baseNodeClass)
 Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.
 
virtual VuoNodeClassnewNodeClassWithImplementation (const string &nodeClassName, const vector< string > &portNames, const vector< VuoType * > &types)=0
 Returns a node class with generated code in an LLVM module.
 
virtual VuoNodeClassnewNodeClassWithoutImplementation (const string &nodeClassName, const vector< string > &portNames, const vector< VuoType * > &types)=0
 Returns a node class without generated code.
 
virtual string getNodeClassNamePrefix (void)=0
 Returns the prefix that appears in any generic or specialized node class name for the node class.
 
virtual set< string > getReservedPortNames (void)=0
 Returns the names of input port classes that are added automatically to all published input/output node classes.
 
bool parseNodeClassName (string nodeClassName, vector< string > &portNames, vector< string > &typeNames) VuoWarnUnusedResult
 If nodeClassName is a valid published input/output node class name, copies the port names and types from the node class name into portNames and typeNames and returns true.
 
string buildNodeClassName (const vector< string > &portNames, const vector< VuoType * > &types)
 Creates a class name for a published input/output node with the given published input/output port names and types.
 
string buildNodeClassName (const vector< string > &portNames, const vector< string > &typeNames)
 Creates a class name for a published input/output node with the given published input/output port names and type names.
 
string buildNodeClassNameFromPorts (const vector< VuoPublishedPort * > &publishedPorts)
 Creates a class name for a published input/output node with the given published input/output ports.
 
vector< string > formUniquePortNames (const vector< VuoPublishedPort * > &publishedPorts)
 Returns the list of input port names that a published input/output node would have corresponding to publishedPorts.
 
json_object * buildSpecializedModuleDetails (const vector< VuoType * > &types)
 Constructs the value for the "specializedModule" key to be added to VuoModuleMetadata.
 
VuoCompilerNodecreateReplacementBackingNode (VuoNode *nodeToBack, string backingNodeClassName, VuoCompiler *compiler)
 Returns a fully specialized node of class backingNodeClassName that will replace the node class of nodeToBack.
 
VuoTypegetOriginalPortType (VuoPortClass *portClass)
 Returns this port's type in the (hypothetical) unspecialized published input node class.
 
string getOriginalGenericNodeClassName (void)
 Returns the original node's class name (without any type suffixes).
 
string getOriginalGenericNodeClassDescription (void)
 Returns the original node's class description (i.e., nothing).
 
VuoNodeSetgetOriginalGenericNodeSet (void)
 Returns the original node's node set (i.e., none).
 
string createUnspecializedNodeClassName (set< VuoPortClass * > portClassesToUnspecialize)
 Returns the name for the published input node class that would result if the given ports were changed back to their original types.
 
string createSpecializedNodeClassNameWithReplacement (string genericTypeName, string specializedTypeName)
 Returns the name for the published input node class that would result if the given specialized type were substituted for the generic item type.
 
- Protected Member Functions inherited from VuoCompilerSpecializedNodeClass
 VuoCompilerSpecializedNodeClass (string nodeClassName, Module *module)
 Creates a specialized node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass.
 
 VuoCompilerSpecializedNodeClass (VuoCompilerSpecializedNodeClass *compilerNodeClass)
 Creates a new compiler node class and creates a new base VuoNodeClass, both from compilerNodeClass.
 
 VuoCompilerSpecializedNodeClass (VuoNodeClass *baseNodeClass)
 Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.
 
- Protected Member Functions inherited from VuoCompilerNodeClass
 VuoCompilerNodeClass (string className, Module *module)
 Creates a node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass.
 
 VuoCompilerNodeClass (VuoCompilerNodeClass *compilerNodeClass)
 Creates a new compiler node class and creates a new base VuoNodeClass, both from compilerNodeClass.
 
 VuoCompilerNodeClass (VuoNodeClass *baseNodeClass)
 Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.
 
VuoPortClassgetInputPortClassWithName (string portName)
 Returns the input port class matching the specified portName, if one exists.
 
VuoPortClassgetOutputPortClassWithName (string portName)
 Returns the output port class matching the specified portName, if one exists.
 
- Protected Member Functions inherited from VuoCompilerModule
 VuoCompilerModule (VuoModule *base, Module *module)
 Creates a VuoCompilerModule associated with the given LLVM module, as a pseudo compiler detail class of the given VuoModule.
 
string nameForGlobal (string genericGlobalVarOrFuncName)
 Returns the mangled name for a function or global variable.
 
void renameGlobalVarsAndFuncs (void)
 Renames the global variables and functions within the LLVM module so that they are unique to this VuoCompilerModule.
 

Static Protected Member Functions

static VuoNodeClassnewNodeClass (const string &nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue, VuoCompilerPublishedNodeClass *singleton)
 Returns a new node class with port names and types as specified by nodeClassName, or null if nodeClassName is not a valid published input/output node class name.
 
static VuoNodeClassnewNodeClass (const vector< VuoPublishedPort * > &publishedPorts, dispatch_queue_t llvmQueue, VuoCompilerPublishedNodeClass *singleton)
 Returns a new node class with port names and types corresponding to publishedPorts.
 
- Static Protected Member Functions inherited from VuoCompilerSpecializedNodeClass
static VuoPortClasscopyPortClassFromModel (VuoPortClass *modelPortClass, bool isInput)
 Creates a new port class (base + compiler detail) with properties copied from modelPortClass (base + compiler detail).
 
- Static Protected Member Functions inherited from VuoCompilerModule
static bool isSpecializedModule (Module *module, string moduleKey)
 Returns true if the moduleDetails global variable within the LLVM module contains a key indicating that it is intended to be a specialized module definition.
 
static string nameForGlobal (string nameBeforeCompilation, string moduleKey)
 Returns the mangled name for a function or global variable.
 
static bool hasOriginalOrMangledGlobal (string nameBeforeCompilation, Module *module, string moduleKey)
 Returns true if the module contains a function or global variable with name nameBeforeCompilation or with the corresponding mangled name.
 

Additional Inherited Members

- Protected Attributes inherited from VuoCompilerSpecializedNodeClass
map< string, string > specializedForGenericTypeName
 The type name that replaces each generic type name in the original generic node class.
 
- Protected Attributes inherited from VuoCompilerModule
struct json_object * moduleDetails
 This module's metadata, found in the argument to VuoModuleMetadata in the module definition.
 
set< string > dependencies
 The modules and libraries needed to compile a composition containing this module.
 
VuoCompilerCompatibility compatibleTargets
 The set of targets with which this module is compatible.
 
Module *VuoCompilerBitcodeParserparser
 < The LLVM module that defines this node class or type
 
string sourcePath
 The file containing the module's source code, if known.
 
string sourceCode
 The module's source code, if known.
 
shared_ptr< VuoMakeDependenciesmakeDependencies
 The source files needed to compile this module.
 
map< string, string > defaultSpecializedForGenericTypeName
 For generic modules: the types to use when creating an unspecialized instance.
 
map< string, vector< string > > compatibleSpecializedForGenericTypeName
 For generic modules: the types to which each generic type is allowed to be specialized.
 

Constructor & Destructor Documentation

◆ VuoCompilerPublishedNodeClass() [1/3]

VuoCompilerPublishedNodeClass::VuoCompilerPublishedNodeClass ( string  nodeClassName,
Module *  module 
)
protected

Creates a node class implementation from an LLVM module, and creates its corresponding base VuoNodeClass.

Definition at line 30 of file VuoCompilerPublishedNodeClass.cc.

◆ VuoCompilerPublishedNodeClass() [2/3]

VuoCompilerPublishedNodeClass::VuoCompilerPublishedNodeClass ( VuoCompilerPublishedNodeClass compilerNodeClass)
protected

Creates a new compiler node class and a new base VuoNodeClass, both from compilerNodeClass.

Definition at line 38 of file VuoCompilerPublishedNodeClass.cc.

◆ VuoCompilerPublishedNodeClass() [3/3]

VuoCompilerPublishedNodeClass::VuoCompilerPublishedNodeClass ( VuoNodeClass baseNodeClass)
protected

Creates a new implementation-less compiler node class, using the given node class for its base VuoNodeClass.

Definition at line 46 of file VuoCompilerPublishedNodeClass.cc.

Member Function Documentation

◆ buildNodeClassName() [1/2]

string VuoCompilerPublishedNodeClass::buildNodeClassName ( const vector< string > &  portNames,
const vector< string > &  typeNames 
)
protected

Creates a class name for a published input/output node with the given published input/output port names and type names.

Definition at line 201 of file VuoCompilerPublishedNodeClass.cc.

◆ buildNodeClassName() [2/2]

string VuoCompilerPublishedNodeClass::buildNodeClassName ( const vector< string > &  portNames,
const vector< VuoType * > &  types 
)
protected

Creates a class name for a published input/output node with the given published input/output port names and types.

Definition at line 189 of file VuoCompilerPublishedNodeClass.cc.

◆ buildNodeClassNameFromPorts()

string VuoCompilerPublishedNodeClass::buildNodeClassNameFromPorts ( const vector< VuoPublishedPort * > &  publishedPorts)
protected

Creates a class name for a published input/output node with the given published input/output ports.

Definition at line 222 of file VuoCompilerPublishedNodeClass.cc.

◆ buildSpecializedModuleDetails()

json_object * VuoCompilerPublishedNodeClass::buildSpecializedModuleDetails ( const vector< VuoType * > &  types)
protected

Constructs the value for the "specializedModule" key to be added to VuoModuleMetadata.

Definition at line 259 of file VuoCompilerPublishedNodeClass.cc.

◆ createReplacementBackingNode()

VuoCompilerNode * VuoCompilerPublishedNodeClass::createReplacementBackingNode ( VuoNode nodeToBack,
string  backingNodeClassName,
VuoCompiler compiler 
)
protectedvirtual

Returns a fully specialized node of class backingNodeClassName that will replace the node class of nodeToBack.

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 309 of file VuoCompilerPublishedNodeClass.cc.

◆ createSpecializedNodeClassNameWithReplacement()

string VuoCompilerPublishedNodeClass::createSpecializedNodeClassNameWithReplacement ( string  genericTypeName,
string  specializedTypeName 
)
protectedvirtual

Returns the name for the published input node class that would result if the given specialized type were substituted for the generic item type.

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 378 of file VuoCompilerPublishedNodeClass.cc.

◆ createUnspecializedNodeClassName()

string VuoCompilerPublishedNodeClass::createUnspecializedNodeClassName ( set< VuoPortClass * >  portClassesToUnspecialize)
protectedvirtual

Returns the name for the published input node class that would result if the given ports were changed back to their original types.

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 368 of file VuoCompilerPublishedNodeClass.cc.

◆ formUniquePortNames()

vector< string > VuoCompilerPublishedNodeClass::formUniquePortNames ( const vector< VuoPublishedPort * > &  publishedPorts)
protected

Returns the list of input port names that a published input/output node would have corresponding to publishedPorts.

If there are any name collisions between publishedPorts and the ports that appear on every published input/output node (such as the refresh port), the port in the node class corresponding to the published port is assigned a unique name.

Definition at line 242 of file VuoCompilerPublishedNodeClass.cc.

◆ getFileName()

string VuoCompilerPublishedNodeClass::getFileName ( void  )
virtual

Returns the file name (with extension) that this node class should have when saved to file — a mangled (shortened) file name so as not to exceed the operating system's limit on file name length.

Reimplemented from VuoCompilerNodeClass.

Definition at line 273 of file VuoCompilerPublishedNodeClass.cc.

◆ getFileNameForModuleKey()

string VuoCompilerPublishedNodeClass::getFileNameForModuleKey ( const string &  moduleKey)
static

Returns the file name (with extension) that a published input/output node class with the given module key would have when saved to file.

Definition at line 285 of file VuoCompilerPublishedNodeClass.cc.

◆ getNodeClassNamePrefix()

virtual string VuoCompilerPublishedNodeClass::getNodeClassNamePrefix ( void  )
protectedpure virtual

Returns the prefix that appears in any generic or specialized node class name for the node class.

◆ getOriginalGenericNodeClassDescription()

string VuoCompilerPublishedNodeClass::getOriginalGenericNodeClassDescription ( void  )
protectedvirtual

Returns the original node's class description (i.e., nothing).

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 352 of file VuoCompilerPublishedNodeClass.cc.

◆ getOriginalGenericNodeClassName()

string VuoCompilerPublishedNodeClass::getOriginalGenericNodeClassName ( void  )
protectedvirtual

Returns the original node's class name (without any type suffixes).

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 344 of file VuoCompilerPublishedNodeClass.cc.

◆ getOriginalGenericNodeSet()

VuoNodeSet * VuoCompilerPublishedNodeClass::getOriginalGenericNodeSet ( void  )
protectedvirtual

Returns the original node's node set (i.e., none).

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 360 of file VuoCompilerPublishedNodeClass.cc.

◆ getOriginalPortType()

VuoType * VuoCompilerPublishedNodeClass::getOriginalPortType ( VuoPortClass portClass)
protectedvirtual

Returns this port's type in the (hypothetical) unspecialized published input node class.

Reimplemented from VuoCompilerSpecializedNodeClass.

Definition at line 335 of file VuoCompilerPublishedNodeClass.cc.

◆ getReservedPortNames()

virtual set< string > VuoCompilerPublishedNodeClass::getReservedPortNames ( void  )
protectedpure virtual

Returns the names of input port classes that are added automatically to all published input/output node classes.

◆ isModuleKeyMangledInFileName()

bool VuoCompilerPublishedNodeClass::isModuleKeyMangledInFileName ( const string &  fileName)
static

Returns true — a node class with the given file name (with extension) would have a module key other than the file name minus extension.

Definition at line 301 of file VuoCompilerPublishedNodeClass.cc.

◆ isPublishedNodeClassName()

bool VuoCompilerPublishedNodeClass::isPublishedNodeClassName ( const string &  nodeClassName)
static

Returns true if the name has the format of a published input or output node class name.

(A node class by that name may or may not exist.)

Definition at line 147 of file VuoCompilerPublishedNodeClass.cc.

◆ newNodeClass() [1/2]

VuoNodeClass * VuoCompilerPublishedNodeClass::newNodeClass ( const string &  nodeClassName,
VuoCompiler compiler,
dispatch_queue_t  llvmQueue,
VuoCompilerPublishedNodeClass singleton 
)
staticprotected

Returns a new node class with port names and types as specified by nodeClassName, or null if nodeClassName is not a valid published input/output node class name.

Definition at line 55 of file VuoCompilerPublishedNodeClass.cc.

◆ newNodeClass() [2/2]

VuoNodeClass * VuoCompilerPublishedNodeClass::newNodeClass ( const vector< VuoPublishedPort * > &  publishedPorts,
dispatch_queue_t  llvmQueue,
VuoCompilerPublishedNodeClass singleton 
)
staticprotected

Returns a new node class with port names and types corresponding to publishedPorts.

If there are any name collisions between publishedPorts and the ports that appear on every published input/output node (such as the refresh port), the port in the node class corresponding to the published port is assigned a unique name.

Definition at line 79 of file VuoCompilerPublishedNodeClass.cc.

◆ newNodeClassWithImplementation()

virtual VuoNodeClass * VuoCompilerPublishedNodeClass::newNodeClassWithImplementation ( const string &  nodeClassName,
const vector< string > &  portNames,
const vector< VuoType * > &  types 
)
protectedpure virtual

Returns a node class with generated code in an LLVM module.

◆ newNodeClassWithoutImplementation()

virtual VuoNodeClass * VuoCompilerPublishedNodeClass::newNodeClassWithoutImplementation ( const string &  nodeClassName,
const vector< string > &  portNames,
const vector< VuoType * > &  types 
)
protectedpure virtual

Returns a node class without generated code.

◆ parseNodeClassName()

bool VuoCompilerPublishedNodeClass::parseNodeClassName ( string  nodeClassName,
vector< string > &  portNames,
vector< string > &  typeNames 
)
protected

If nodeClassName is a valid published input/output node class name, copies the port names and types from the node class name into portNames and typeNames and returns true.

Otherwise, returns false.

Definition at line 159 of file VuoCompilerPublishedNodeClass.cc.


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