24 #ifndef PXR_USD_SDF_PREDICATE_EXPRESSION_H
25 #define PXR_USD_SDF_PREDICATE_EXPRESSION_H
207 TfFunctionRef<
void (std::vector<std::pair<Op, int>>
const &)> logic,
222 explicit operator bool()
const {
246 std::vector<Op> _ops;
250 std::vector<FnCall> _calls;
259 #endif // PXR_USD_SDF_PREDICATE_EXPRESSION_H
friend bool operator!=(FnArg const &l, FnArg const &r)
no-arg call like 'active'
static FnArg Keyword(std::string const &name, VtValue const &val)
paren/comma & pos/kw args like 'foo(23, bar=baz)'
SDF_API void Walk(TfFunctionRef< void(Op, int)> logic, TfFunctionRef< void(FnCall const &)> call) const
SdfPredicateExpression & operator=(SdfPredicateExpression const &)=default
Copy assign from another expression.
GLsizei const GLchar *const * string
static SDF_API SdfPredicateExpression MakeCall(FnCall &&call)
Produce a new expression containing just a the function call call.
SdfPredicateExpression()=default
Construct the empty expression whose bool-operator returns false.
SDF_API std::string GetText() const
std::vector< FnArg > args
friend bool operator==(FnArg const &l, FnArg const &r)
GLuint const GLchar * name
static SDF_API SdfPredicateExpression MakeOp(Op op, SdfPredicateExpression &&left, SdfPredicateExpression &&right)
std::string GetParseError() const &&
SDF_API void WalkWithOpStack(TfFunctionRef< void(std::vector< std::pair< Op, int >> const &)> logic, TfFunctionRef< void(FnCall const &)> call) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
static SDF_API SdfPredicateExpression MakeNot(SdfPredicateExpression &&right)
Produce a new expression by prepending the 'not' operator onto right.
colon-separated pos args, like 'isa:Imageable'
#define PXR_NAMESPACE_CLOSE_SCOPE
static FnArg Positional(VtValue const &val)
Op
Enumerant describing a subexpression operation.
std::string const & GetParseError() const &