Functions

auto omni::graph::exec::unstable::captureScheduleFunction(Fn &&fn) noexcept -> decltype(detail::ScheduleFunctionHelper< Fn >::capture(std::forward< Fn >(fn)))

Helper function to efficiently capture an invocable object (i.e. std::function, function ptr, IScheduleFunction*).

T * omni::graph::exec::unstable::cast(omni::core::ObjectParam< U > ptr) noexcept

Casts the given pointer to the given interface (e.g. T).

T * omni::graph::exec::unstable::cast(U *ptr) noexcept

Casts the given pointer to the given interface (e.g. T).

T * omni::graph::exec::unstable::cast(omni::core::ObjectPtr< U > ptr) noexcept

Casts the given pointer to the given interface (e.g. T).

NodeFactoryPtr omni::graph::exec::unstable::createNodeFactory(Fn &&fn)

Generates an INodeFactory from an invocable object such as a function pointer, functor, etc.

PassFactoryPtr omni::graph::exec::unstable::createPassFactory(Fn &&fn) noexcept

Generates an IPassFactory from an invocable object such as a function pointer, functor, etc.

void omni::graph::exec::unstable::deregisterModulePasses() noexcept

Deregisters the module's omni::graph::exec::unstable::IPass factories with IPassRegistry .

IExecutor * omni::graph::exec::unstable::getCurrentExecutor() noexcept

Access executor currently used on the current thread.

ExecutionTask * omni::graph::exec::unstable::getCurrentTask() noexcept

Access task currently executed on a calling thread.

IExecutionCurrentThread * omni::graph::exec::unstable::getCurrentThread() noexcept

Access current thread's execution state.

IPassRegistry * omni::graph::exec::unstable::getPassRegistry() noexcept

Returns the singleton pass registry.

omni::graph::exec::unstable::Status omni::graph::exec::unstable::invokeScheduleFunction(Fn &&fn) noexcept

Helper function to efficiently call an invocable object (i.e. std::function, function ptr, IScheduleFunction*).

constexpr bool omni::graph::exec::unstable::operator!=(NameHash lhs, const ConstName &rhs) noexcept

Compares a hash with a ConstName .

constexpr bool omni::graph::exec::unstable::operator!=(const ConstName &lhs, NameHash rhs) noexcept

Compares a ConstName with a hash.

bool omni::graph::exec::unstable::operator!=(const ExecutionPath &lhs, const ExecutionPath &rhs) noexcept

Comparison operator.

constexpr bool omni::graph::exec::unstable::operator!=(const ConstName &lhs, const ConstName &rhs) noexcept

Compares two ConstName objects.

auto omni::graph::exec::unstable::operator+(const ConstName &lhs, const std::string &rhs)

Concatenates std::string with a ConstName . Returns a omni::string .

auto omni::graph::exec::unstable::operator+(const std::string &lhs, const ConstName &rhs)

Concatenates std::string with a ConstName . Returns a omni::string .

constexpr bool omni::graph::exec::unstable::operator<(NameHash lhs, const ConstName &rhs) noexcept

Compares a hash with a ConstName .

constexpr bool omni::graph::exec::unstable::operator<(const ConstName &lhs, NameHash rhs) noexcept

Compares a ConstName with a hash.

constexpr bool omni::graph::exec::unstable::operator<(const ConstName &lhs, const ConstName &rhs) noexcept

Compares two ConstName objects.

std::ostream & omni::graph::exec::unstable::operator<<(std::ostream &os, const ConstName &str)

Output stream operator overload. Outputs the contents of str to the stream os .

constexpr bool omni::graph::exec::unstable::operator==(NameHash lhs, const ConstName &rhs) noexcept

Compares a hash with a ConstName .

constexpr bool omni::graph::exec::unstable::operator==(const ConstName &lhs, NameHash rhs) noexcept

Compares a ConstName with a hash.

constexpr bool omni::graph::exec::unstable::operator==(const ConstName &lhs, const ConstName &rhs) noexcept

Compares two ConstName objects.

bool omni::graph::exec::unstable::operator==(const ExecutionPath &lhs, const ExecutionPath &rhs) noexcept

Comparison operator.

void omni::graph::exec::unstable::quickPartitioning(ITopology *topology, Span< INode * > selectedNodes, VerifyAndCreateFn &&verifyAndCommitPartitionFn)

Algorithm to group selected nodes into valid partitions based on node ordering.

void omni::graph::exec::unstable::registerModulePasses() noexcept

Registers the module's omni::graph::exec::unstable::IPass factories with omni::graph::exec::unstable::IPassRegistry .

void omni::graph::exec::unstable::swap(SmallVector< T, N > &a, SmallVector< T, N > &b)

Swap fuction for SmallVector .

Span< INode *const > omni::graph::exec::unstable::toSpan(const std::vector< omni::core::ObjectPtr< INode > > &nodes) noexcept

Converts an contiguous array of NodePtr to a Span . This is useful when returning the array via the ABI.

void omni::graph::exec::unstable::traverseBreadthFirst(INode *node, typename Traversal< INode, ITopology, Strategy, FlowBreadthFirst, NodeUserData, false >::CallbackFn call)

Performs a breadth-first (BFS) traversal of a node.

auto omni::graph::exec::unstable::traverseBreadthFirstAsync(INode *node, typename Traversal< INode, ITopology, Strategy, FlowBreadthFirst, NodeUserData, false >::CallbackFn call)

Performs a breadth-first (BFS) traversal of a node while allowing for asynchronous work to be performed by the given lambda.

void omni::graph::exec::unstable::traverseDepthFirst(INode *node, typename Traversal< INode, ITopology, Strategy, FlowDepthFirst, NodeUserData, false >::CallbackFn call)

Performs a depth-first (DFS) traversal of a node.

auto omni::graph::exec::unstable::traverseDepthFirstAsync(INode *node, typename Traversal< INode, ITopology, Strategy, FlowDepthFirst, NodeUserData, false >::CallbackFn call)

Performs a depth-first (DFS) traversal of a node while allowing for asynchronous work to be performed by the given lambda.

uint32_t omni::graph::exec::unstable::useCount(T *ptr) noexcept

Helper utility to access the number of different instances referencing the given object.

void omni::graph::exec::unstable::writeFlattenedAsGraphviz(omni::core::ObjectParam< IGraph > inGraph, std::ostream &out, const bool deterministicAndSimplified=false)

Debugging utility to write out the graph topology in a graphviz format.