Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
DiscoveryQuery< MO > Class Template Referenceabstract

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

Description

template<class MO>
class steam::mobject::session::DiscoveryQuery< MO >

ABC to build Queries for placement-attached objects.

The Placements obtained from such a query are typed to the specific MObject type given as template parameter. To ensure this, an additional ContentFilter is applied on the yielded results; this filter function is constructed by a virtual call when actually issuing the query.

Definition at line 65 of file scope-query.hpp.

Public Types

using iterator = _Query::iterator
 
using ContentFilter = function< bool(PlacementMO const &)>
 
- Public Types inherited from Query< RES >
typedef lib::IterAdapter< Cursor, PResoiterator
 
- Public Types inherited from Goal
enum  Kind {
  EMPTY = 0 ,
  GENERIC = 1 ,
  DISCOVERY ,
  PLACEMENT
}
 

Public Member Functions

ContentFilter contentFilter () const
 
- Public Member Functions inherited from Query< RES >
 Query ()
 
 Query (string querySpec)
 
 operator QueryKey () const
 automatic conversion from Query to QueryKey for indexing and ordering.
 
Builder rebuild () const
 
string extractID (Symbol predicate) const
 convenience shortcut to extract a desired name-ID.
 
bool usesPredicate (Symbol predicate) const
 
iterator operator() (QueryResolver const &resolver) const
 notational convenience shortcut, synonymous to Query<RES>::resolveBy()
 
iterator resolveBy (QueryResolver const &resolver) const
 
- Public Member Functions inherited from Goal
virtual ~Goal ()
 this is a marker baseclass
 
QueryID const & getQID () const
 

Protected Member Functions

virtual ContentFilter buildContentFilter () const =0
 yield additional filter to be applied to the result set.
 
 DiscoveryQuery ()
 
- Protected Member Functions inherited from Query< RES >
virtual lib::QueryText buildSyntacticRepresentation () const
 Extension point to generate a generic query definition on demand.
 
lib::QueryText getQueryDefinition () const
 access the complete syntactical representation of this query.
 
 Query (QueryID typeID, lib::QueryText const &genericQuerySpec)
 
 Query (QueryID typeID, string querySpec)
 
- Protected Member Functions inherited from Goal
 Goal (QueryID qid)
 

Private Types

using _Query = Query< Placement< MO > >
 

Private Member Functions

DiscoveryQuery const & operator= (DiscoveryQuery const &)
 Assignment explicitly disallowed (but copy ctor is ok)
 

Additional Inherited Members

- Static Public Member Functions inherited from Query< RES >
static Builder build (Kind queryType=Goal::GENERIC)
 
- Static Protected Member Functions inherited from Query< RES >
static QueryID defineQueryTypeID (Kind queryType=Goal::GENERIC)
 
- Protected Attributes inherited from Goal
QueryID id_
 

Constructor & Destructor Documentation

◆ DiscoveryQuery()

template<class MO >
DiscoveryQuery ( )
inlineprotected

Definition at line 89 of file scope-query.hpp.

Member Typedef Documentation

◆ _Query

template<class MO >
using _Query = Query<Placement<MO> >
private

Definition at line 68 of file scope-query.hpp.

◆ iterator

template<class MO >
using iterator = _Query::iterator

Definition at line 72 of file scope-query.hpp.

◆ ContentFilter

template<class MO >
using ContentFilter = function<bool(PlacementMO const&)>

Definition at line 73 of file scope-query.hpp.

Member Function Documentation

◆ contentFilter()

template<class MO >
ContentFilter contentFilter ( ) const
inline

Definition at line 77 of file scope-query.hpp.

References DiscoveryQuery< MO >::buildContentFilter().

+ Here is the call graph for this function:

◆ buildContentFilter()

template<class MO >
virtual ContentFilter buildContentFilter ( ) const
protectedpure virtual

yield additional filter to be applied to the result set.

Implemented in ScopeQuery< MO >, and SpecificContentsQuery< MO >.

Referenced by DiscoveryQuery< MO >::contentFilter().

+ Here is the caller graph for this function:

◆ operator=()

template<class MO >
DiscoveryQuery const & operator= ( DiscoveryQuery< MO > const &  )
private

Assignment explicitly disallowed (but copy ctor is ok)

+ Inheritance diagram for DiscoveryQuery< MO >:
+ Collaboration diagram for DiscoveryQuery< MO >:

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