omni::graph::exec::unstable::ScopedPassRegistration
Defined in omni/graph/exec/unstable/PassRegistry.h
-
class ScopedPassRegistration
Scoped object that registers a pass factory in its constructor and deregisters in the objects destructor.
Useful for temporarily registering IPassFactory, for example, in a unit test.
When registering a pass in a plugin, rather than using this object, prefer using one of the pass registration macros (e.g. OMNI_GRAPH_EXEC_REGISTER_POPULATE_PASS()). See Pass Registration for a list of registration macros.
Public Functions
-
template<typename Fn>
inline ScopedPassRegistration(PassType type, const char *name, Fn &&fn, const ConstName &nameToMatch = ConstName(), PassPriority priority = 0) Constructor. Calls IPassRegistry::registerPass() in the global pass registry.
name
must not benullptr
.Use helper macros like OMNI_GRAPH_EXEC_REGISTER_POPULATE_PASS() rather than directly using this method. See Pass Registration for a list of registration macros. Constructor. Calls IPassRegistry::registerPass().
The given function should have the signature
IPass*(IGraphBuilder*)
.
-
inline ScopedPassRegistration(PassType type, std::string &&name, omni::core::ObjectParam<IPassFactory> factory, const ConstName &nameToMatch = ConstName(), PassPriority priority = 0)
Constructor. Calls IPassRegistry::registerPass() in the global pass registry.
name
must not benullptr
.factory
must not benullptr
.Use helper macros like OMNI_GRAPH_EXEC_REGISTER_POPULATE_PASS() rather than directly using this method. See Pass Registration for a list of registration macros. Constructor. Calls IPassRegistry::registerPass().
-
inline ~ScopedPassRegistration() noexcept
Destructor. Calls IPassRegistry::deregisterPass().
-
template<typename Fn>