Loading...
Searching...
No Matches
SdfPathExpressionEval< DomainType >::IncrementalSearcher< PathToObject > Class Template Reference

This class implements stateful incremental search over DomainType objects in depth-first order. More...

#include <pathExpressionEval.h>

Public Member Functions

 IncrementalSearcher (SdfPathExpressionEval const *eval, PathToObject const &p2o)
 
 IncrementalSearcher (SdfPathExpressionEval const *eval, PathToObject &&p2o)
 
SdfPredicateFunctionResult Next (SdfPath const &objPath)
 Advance the search to the next objPath, and return the result of evaluating the expression on it.
 
void Reset ()
 Reset this object's incremental search state so that a new round of searching may begin.
 

Detailed Description

template<class DomainType>
template<class PathToObject>
class SdfPathExpressionEval< DomainType >::IncrementalSearcher< PathToObject >

This class implements stateful incremental search over DomainType objects in depth-first order.

See Next() for more info. This class is copyable, and may be copied to parallelize searches over domain subtrees, where one copy is invoked with a child, and the other with the next sibling.

Definition at line 264 of file pathExpressionEval.h.

Constructor & Destructor Documentation

◆ IncrementalSearcher() [1/3]

IncrementalSearcher ( )
inline

Definition at line 266 of file pathExpressionEval.h.

◆ IncrementalSearcher() [2/3]

IncrementalSearcher ( SdfPathExpressionEval const *  eval,
PathToObject const &  p2o 
)
inline

Definition at line 268 of file pathExpressionEval.h.

◆ IncrementalSearcher() [3/3]

IncrementalSearcher ( SdfPathExpressionEval const *  eval,
PathToObject &&  p2o 
)
inline

Definition at line 275 of file pathExpressionEval.h.

Member Function Documentation

◆ Next()

SdfPredicateFunctionResult Next ( SdfPath const &  objPath)
inline

Advance the search to the next objPath, and return the result of evaluating the expression on it.

The passed objPath must possibly succeed the previous object's path in a valid depth-first ordering. That is, it must be a direct child, a sibling, or the sibling of an ancestor. For example, the following paths are in a valid order:

/foo, /foo/bar, /foo/bar/baz, /foo/bar/qux, /oof, /oof/zab /oof/xuq

Definition at line 293 of file pathExpressionEval.h.

◆ Reset()

void Reset ( )
inline

Reset this object's incremental search state so that a new round of searching may begin.

Definition at line 313 of file pathExpressionEval.h.


The documentation for this class was generated from the following file: