Lumiera  0.pre.03
»edit your freedom«
ElementQuery Class Reference

#include "steam/mobject/session/element-query.hpp"

Description

Access point to session global search and query functions.

This sub-component of the public session interface allows to search and retrieve objects from the high-level-model, by type and using additional filter predicates.

WIP-WIP-WIP as of 6/2010 – this might evolve into an extended query facility, using specialised sub-indices and dedicated queries. For now the motivation to package this as a separate interface module was just to reduce the includes on the top level session API and to allow for templated search functions, based on function objects.

See also
session-element-query-test.cpp demo test
struct-factory-impl.hpp usage example

Definition at line 102 of file element-query.hpp.

Public Member Functions

template<typename PRED >
_PickRes< PRED >::Result pick (PRED const &searchPredicate)
 pick the first element from session satisfying a predicate. More...
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Function Documentation

◆ pick()

_PickRes<PRED>::Result pick ( PRED const &  searchPredicate)
inline

pick the first element from session satisfying a predicate.

Parameters
searchPredicateapplied to Placement<MO> for filtering
Returns
MObject ref to the fist suitable element. Might be an empty MObjectRef.
Note
the embedded MObject subtype (MO) causes an additional filtering on that specific kind of MObject (e.g. considering just Clips)
Warning
be sure the passed predicate actually takes a Placement<XX> const& with XX being the correct type. Note the const& – Failing to do so shows up as compiler error "no suitable function pick(.....)"

Definition at line 119 of file element-query.hpp.

References SessionServiceExploreScope::getResolver(), SessionServiceExploreScope::getScopeRoot(), steam::mobject::session::pickAllSuitable(), and lib::Result().

+ Here is the call graph for this function:
+ Inheritance diagram for ElementQuery:
+ Collaboration diagram for ElementQuery:

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