Vuo
1.1.0
|
A "Make List" node class.
Public Member Functions | |
unsigned long | getItemCount (void) |
Returns the number of item input ports for this "Make List" node class. | |
VuoCompilerType * | getListType (void) |
Returns the type of the list output port for this "Make List" node class. | |
VuoType * | getOriginalPortType (VuoPortClass *portClass) |
Returns this port's type in the (hypothetical) unspecialized Make List 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. | |
VuoNodeSet * | getOriginalGenericNodeSet (void) |
Returns the original node's node set. | |
string | createUnspecializedNodeClassName (set< VuoPortClass * > portClassesToUnspecialize) |
Returns the name for the Make List node class that would result if the given port were changed back to its original type. | |
string | createSpecializedNodeClassNameWithReplacement (string genericTypeName, string specializedTypeName) |
Returns the name for the Make List 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 | |
VuoNode * | newNode (string title="", double x=0, double y=0) |
Creates a substantial base node instance from this node class. | |
VuoNode * | newNode (VuoNode *nodeToCopyMetadataFrom) |
Creates a substantial base node instance with its metadata copied from the existing nodeToCopyMetadataFrom . | |
virtual | ~VuoCompilerNodeClass (void) |
Destructor. | |
Public Member Functions inherited from VuoBaseDetail< VuoNodeClass > | |
VuoBaseDetail (string description, VuoNodeClass *base) | |
Creates a VuoNodeClass detail class. | |
VuoNodeClass * | getBase (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. | |
VuoModule * | getPseudoBase (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. | |
Static Public Member Functions | |
static VuoNodeClass * | newNodeClass (string nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue) |
Generates a node class for a "Make List" node. | |
static bool | isMakeListNodeClassName (string nodeClassName) |
Returns true if the name has the format of a "Make List" node class name. | |
static string | getNodeClassName (unsigned long itemCount, VuoCompilerType *listType) |
Returns the name that a "Make List" node class would have if it were to input the given number of items and output the given type of list. | |
static string | buildNodeClassName (unsigned long itemCount, string itemTypeName) |
Creates a "Make List" node class name from the item count and type. | |
Static Public Member Functions inherited from VuoCompilerSpecializedNodeClass | |
static VuoNodeClass * | newNodeClass (string nodeClassName, VuoCompiler *compiler, dispatch_queue_t llvmQueue) |
Generates a specalized node class from a generic node class. | |
static VuoCompilerNodeClass * | getNodeClassForNode (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 VuoNodeClass * | newNodeClass (string nodeClassName, Module *module) |
Creates a new substantial VuoNodeClass from the node class definition in the module. | |
static VuoNodeClass * | newNodeClassWithoutImplementation (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 VuoCompilerModule * | newModule (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. | |
|
static |
Creates a "Make List" node class name from the item count and type.
|
virtual |
Returns the name for the Make List node class that would result if the given specialized type were substituted for the generic item type.
Reimplemented from VuoCompilerSpecializedNodeClass.
|
virtual |
Returns the name for the Make List node class that would result if the given port were changed back to its original type.
Reimplemented from VuoCompilerSpecializedNodeClass.
unsigned long VuoCompilerMakeListNodeClass::getItemCount | ( | void | ) |
Returns the number of item input ports for this "Make List" node class.
VuoCompilerType * VuoCompilerMakeListNodeClass::getListType | ( | void | ) |
Returns the type of the list output port for this "Make List" node class.
|
static |
Returns the name that a "Make List" node class would have if it were to input the given number of items and output the given type of list.
|
virtual |
Returns the original node's class description.
Reimplemented from VuoCompilerSpecializedNodeClass.
|
virtual |
Returns the original node's class name (without any type suffixes).
Reimplemented from VuoCompilerSpecializedNodeClass.
|
virtual |
Returns the original node's node set.
Reimplemented from VuoCompilerSpecializedNodeClass.
|
virtual |
Returns this port's type in the (hypothetical) unspecialized Make List node class.
Reimplemented from VuoCompilerSpecializedNodeClass.
|
static |
Returns true if the name has the format of a "Make List" node class name.
(A "Make List" node class by that name may or may not exist.)
|
static |
Generates a node class for a "Make List" node.
The node class's event function inputs zero or more items and outputs a list of those items.
nodeClassName | The name of the node class to generate. It should have the format "vuo.list.make.<item count>.<item type>" (e.g. "vuo.list.make.3.VuoInteger"). |
compiler | The compiler to use for looking up types. |
llvmQueue | Synchronizes access to LLVM's global context. |