XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGraphComposition Class Reference

Classes

struct  Limits

Public Types

using Resolver = xiiDelegate<const xiiGraphDefinition*(const xiiUuid&)>

Static Public Member Functions

static xiiResult Expand (const xiiGraphDefinition &root, Resolver resolver, xiiGraphExpansion &out_expansion, xiiStringBuilder *out_error=nullptr)
static xiiResult Expand (const xiiGraphDefinition &root, Resolver resolver, const Limits &limits, xiiGraphExpansion &out_expansion, xiiStringBuilder *out_error=nullptr)
static bool IsCurrent (xiiArrayPtr< const xiiGraphDefinitionDependency > dependencies, Resolver resolver, xiiUInt8 relevantChanges=xiiGraphDefinitionDependency::Execution)
 Cache checks are explicit, independent of graph mutation. Only relevant revision classes count.

Member Typedef Documentation

◆ Resolver

Resolver results must remain immutable and alive until the call returns. The resolver may share one definition among arbitrarily many occurrences; authoring topology is never copied per instance.

Member Function Documentation

◆ Expand()

xiiResult xiiGraphComposition::Expand ( const xiiGraphDefinition & root,
Resolver resolver,
xiiGraphExpansion & out_expansion,
xiiStringBuilder * out_error = nullptr )
static

Transactional output publication. Recursion errors include the definition and instance UUID path. Ordinary topology cycles are intentionally preserved for consumer-specific validation.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/Core/Graph/GraphComposition.h
  • /home/runner/work/XII/XII/Source/Engine/Core/Graph/Implementation/GraphComposition.cpp