HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject > Class Template Reference

#include <pathExpressionEval.h>

Public Member Functions

 IncrementalSearcher ()
 
 IncrementalSearcher (SdfPathExpressionEval const *eval, ObjectToPath const &o2p, PathToObject const &p2o)
 
 IncrementalSearcher (SdfPathExpressionEval const *eval, ObjectToPath &&o2p, PathToObject &&p2o)
 
SdfPredicateFunctionResult Next (DomainType const &obj)
 
void Reset ()
 

Detailed Description

template<class DomainType>
template<class ObjectToPath, class PathToObject>
class SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, 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 267 of file pathExpressionEval.h.

Constructor & Destructor Documentation

template<class DomainType>
template<class ObjectToPath , class PathToObject >
SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject >::IncrementalSearcher ( )
inline

Definition at line 269 of file pathExpressionEval.h.

template<class DomainType>
template<class ObjectToPath , class PathToObject >
SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject >::IncrementalSearcher ( SdfPathExpressionEval const *  eval,
ObjectToPath const &  o2p,
PathToObject const &  p2o 
)
inline

Definition at line 271 of file pathExpressionEval.h.

template<class DomainType>
template<class ObjectToPath , class PathToObject >
SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject >::IncrementalSearcher ( SdfPathExpressionEval const *  eval,
ObjectToPath &&  o2p,
PathToObject &&  p2o 
)
inline

Definition at line 280 of file pathExpressionEval.h.

Member Function Documentation

template<class DomainType>
template<class ObjectToPath , class PathToObject >
SdfPredicateFunctionResult SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject >::Next ( DomainType const &  obj)
inline

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

The passed obj must have a path that could 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 300 of file pathExpressionEval.h.

template<class DomainType>
template<class ObjectToPath , class PathToObject >
void SdfPathExpressionEval< DomainType >::IncrementalSearcher< ObjectToPath, PathToObject >::Reset ( )
inline

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

Definition at line 319 of file pathExpressionEval.h.


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