Compute Graph Framework SDK Reference  5.12
NodeFactory.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_REGISTER_NODE(...)
 
#define DW_REGISTER_NODE_(NodeT)    DW_REGISTER_NODE_WITH_SUFFIX_(NodeT, UniqueSuffix)
 
#define DW_REGISTER_NODE_GET_3RD_ARG_(arg1, arg2, arg3, ...)   arg3
 
#define DW_REGISTER_NODE_MACRO_CHOOSER_(...)    DW_REGISTER_NODE_GET_3RD_ARG_(__VA_ARGS__, DW_REGISTER_NODE_WITH_SUFFIX_, DW_REGISTER_NODE_, )
 
#define DW_REGISTER_NODE_WITH_SUFFIX_(NodeT, UniqueSuffix)
 

Functions

std::unique_ptr< Node > dw::framework::createNode (const dw::core::StringView &className, ParameterProvider &provider)
 
const PortCollectionDescriptor & dw::framework::getInputPorts (const dw::core::StringView &className)
 
dw::core::HeapVectorFixed< dw::core::StringView > dw::framework::getNodeNames ()
 
const PortCollectionDescriptor & dw::framework::getOutputPorts (const dw::core::StringView &className)
 
const ParameterCollectionDescriptor & dw::framework::getParameters (const dw::core::StringView &className)
 
const PassCollectionDescriptor & dw::framework::getPasses (const dw::core::StringView &className)
 
template<typename NodeT >
void dw::framework::registerNode (const char *className)
 

Macro Definition Documentation

◆ DW_REGISTER_NODE

#define DW_REGISTER_NODE (   ...)
Value:
(__VA_ARGS__)
#define DW_REGISTER_NODE_MACRO_CHOOSER_(...)

Definition at line 202 of file NodeFactory.hpp.

◆ DW_REGISTER_NODE_

#define DW_REGISTER_NODE_ (   NodeT)     DW_REGISTER_NODE_WITH_SUFFIX_(NodeT, UniqueSuffix)

Definition at line 195 of file NodeFactory.hpp.

◆ DW_REGISTER_NODE_GET_3RD_ARG_

#define DW_REGISTER_NODE_GET_3RD_ARG_ (   arg1,
  arg2,
  arg3,
  ... 
)    arg3

Definition at line 198 of file NodeFactory.hpp.

◆ DW_REGISTER_NODE_MACRO_CHOOSER_

#define DW_REGISTER_NODE_MACRO_CHOOSER_ (   ...)     DW_REGISTER_NODE_GET_3RD_ARG_(__VA_ARGS__, DW_REGISTER_NODE_WITH_SUFFIX_, DW_REGISTER_NODE_, )

Definition at line 199 of file NodeFactory.hpp.

◆ DW_REGISTER_NODE_WITH_SUFFIX_

#define DW_REGISTER_NODE_WITH_SUFFIX_ (   NodeT,
  UniqueSuffix 
)
Value:
namespace \
{ \
class Proxy##UniqueSuffix \
{ \
public: \
Proxy##UniqueSuffix() \
{ \
dw::framework::registerNode<NodeT>(#NodeT); \
} \
}; \
static Proxy##UniqueSuffix g_registerNode##UniqueSuffix{}; \
}

Definition at line 181 of file NodeFactory.hpp.