Vuo  1.2.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
VuoCompilerPublishedInputNodeClass Class Reference

Description

A node class used when generating code for a composition to represent published input ports.

For each published input port, this node class has an input port with the same name and data type. In addition, this node class has an event-only trigger output port.

Public Member Functions

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.
 
- Public Member Functions inherited from VuoCompilerSpecializedNodeClass
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.
 
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 isSubcomposition (void)
 Returns true if this node class is a subcomposition (implemented in Vuo language, as opposed to text code).
 
- Public Member Functions inherited from VuoBaseDetail< VuoNodeClass >
 VuoBaseDetail (string description, VuoNodeClass *base)
 Creates a VuoNodeClass detail class.
 
VuoNodeClassgetBase (void) const
 Returns the VuoNodeClass detail class instance's base class instance.
 
void setBase (VuoNodeClass *base)
 Sets the VuoNodeClass detail class instance's base class instance.
 
- Public Member Functions inherited from VuoCompilerModule
virtual ~VuoCompilerModule (void)
 Destructor.
 
VuoCompilerTargetSet parseTargetSet (json_object *o, string key)
 Parses the target set value for key in the top level of the JSON object.
 
VuoCompilerTargetSet::MacVersion parseMacVersion (string version)
 Parses a Mac OS version from a string.
 
VuoCompilerTargetSet 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 (psuedo) base for this (psuedo) compiler detail class.
 
bool getPremium (void)
 Returns a boolean indicating whether this module contains premium content.
 
void setPremium (bool premium)
 Sets the boolean indicating whether this module contains premium content.
 
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.
 

Static Public Member Functions

static VuoNodeClassnewNodeClass (vector< VuoPublishedPort * > publishedInputPorts)
 Returns a node class with an input port corresponding to (same name, same type) each of publishedInputPorts, and an event-only trigger output port.
 
- Static Public Member Functions inherited from VuoCompilerSpecializedNodeClass
static VuoNodeClassnewNodeClass (string nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue)
 Generates a specalized node class from a generic node class.
 
static VuoCompilerNodeClassgetNodeClassForNode (VuoCompilerNodeClass *origNodeClass, VuoCompiler *compiler)
 Returns the node class to use for instantiating a node within a composition.
 
static void replaceGenericTypesWithBacking (string &nodeClassSource)
 Replaces all occurrences of generic type names in the node class source code with a default actual type name.
 
- 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 Public Member Functions inherited from VuoCompilerModule
static VuoCompilerModulenewModule (string moduleKey, Module *module)
 Instantiates a VuoCompilerModule (or child class) corresponding to the type of VuoCompilerModule defined in the LLVM module.
 
static Function * declareFunctionInModule (Module *module, Function *function)
 Copies the function's header into the LLVM module, if it's not already there.
 

Additional Inherited Members

- 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.
 
- Static Protected Member Functions inherited from VuoCompilerNodeClass
static void parseGenericTypes (json_object *moduleDetails, map< string, string > &defaultSpecializedForGenericTypeName, map< std::string, vector< std::string > > &compatibleSpecializedForGenericTypeName)
 Parses the "genericTypes" portion of a node class's metadata.
 
- Protected Attributes inherited from VuoCompilerSpecializedNodeClass
map< string, string > specializedForGenericTypeName
 The type name that replaces each generic type name in the original generic node class.
 

Member Function Documentation

VuoCompilerNode * VuoCompilerPublishedInputNodeClass::createReplacementBackingNode ( VuoNode nodeToBack,
string  backingNodeClassName,
VuoCompiler compiler 
)
virtual

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

Reimplemented from VuoCompilerSpecializedNodeClass.

string VuoCompilerPublishedInputNodeClass::createSpecializedNodeClassNameWithReplacement ( string  genericTypeName,
string  specializedTypeName 
)
virtual

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

Todo:
https://b33p.net/kosada/node/7655

Reimplemented from VuoCompilerSpecializedNodeClass.

string VuoCompilerPublishedInputNodeClass::createUnspecializedNodeClassName ( set< VuoPortClass * >  portClassesToUnspecialize)
virtual

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

Todo:
https://b33p.net/kosada/node/7655

Reimplemented from VuoCompilerSpecializedNodeClass.

string VuoCompilerPublishedInputNodeClass::getOriginalGenericNodeClassDescription ( void  )
virtual

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

Reimplemented from VuoCompilerSpecializedNodeClass.

string VuoCompilerPublishedInputNodeClass::getOriginalGenericNodeClassName ( void  )
virtual

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

Reimplemented from VuoCompilerSpecializedNodeClass.

VuoNodeSet * VuoCompilerPublishedInputNodeClass::getOriginalGenericNodeSet ( void  )
virtual

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

Reimplemented from VuoCompilerSpecializedNodeClass.

VuoType * VuoCompilerPublishedInputNodeClass::getOriginalPortType ( VuoPortClass portClass)
virtual

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

Todo:
https://b33p.net/kosada/node/7655

Reimplemented from VuoCompilerSpecializedNodeClass.

VuoNodeClass * VuoCompilerPublishedInputNodeClass::newNodeClass ( vector< VuoPublishedPort * >  publishedInputPorts)
static

Returns a node class with an input port corresponding to (same name, same type) each of publishedInputPorts, and an event-only trigger output port.


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