#include <corenodes_helpers.h>
IdBuilder can be used to build identifiers for instantiations of generic core nodes. For example the generic multiplication core node "net.maxon.corenode.mul" has instantiations for several data types such as "net.maxon.corenode.mul<int64>" for the type Int64. The id of the instantiation can be obtained with an IdBuilder by writing {IdBuilder("net.maxon.corenode.mul").Append<Int>()} as in this example code:
The constructor and Append functions of IdBuilder don't return errors, a potential out-of-memory error is postponed to the final call of ToId() or ToCString().
Public Member Functions | |
| IdBuilder (const Char *base) | |
| IdBuilder (const LiteralId &base) | |
| IdBuilder && | Append (const DataType &type) |
| template<typename... T> | |
| IdBuilder && | Append () |
| template<Bool B, typename... T> | |
| IdBuilder && | Append () |
| Result< Id > | ToId () const |
| Result< CString > | ToCString () const |
| String | ToString (const FormatStatement *formatStatement=nullptr) const |
Static Public Member Functions | |
| template<typename... INSTANTIATIONTYPE, typename BASETYPE > | |
| static corenodes::IdBuilder | Create (BASETYPE baseId) |
Private Member Functions | |
| IdBuilder ()=default | |
| IdBuilder && | AppendImpl () |
| template<typename... T> | |
| IdBuilder && | AppendImpl (const DataType &type, T... types) |
| void | AppendString (const Char *str) |
| void | AppendParam (const Char *str) |
| void | AppendChar (Char ch) |
Private Attributes | |
| CString | _name |
Friends | |
| class | IdOrBuilder |
|
privatedefault |
|
static |
| IdBuilder&& Append | ( | ) |
| IdBuilder&& Append | ( | ) |
| String ToString | ( | const FormatStatement * | formatStatement = nullptr | ) | const |
|
private |
|
private |
|
private |
|
private |
|
friend |
|
private |