Lumiera  0.pre.03
»edit your freedom«
Query< RES >::Builder Class Reference

#include "common/query.hpp"

Description

template<class RES>
class lumiera::Query< RES >::Builder

Helper for establishing, reworking and remolding queries.

Definition at line 486 of file query.hpp.

Public Member Functions

string asKey () const
 
string extractID (Symbol predicate) const
 extract an ID term defined as (single) parameter for the given predicate. More...
 
BuilderfromText (string queryPredicates)
 
 operator Query< RES > ()
 when done with defining or reworking the query, the result may be retrieved by type conversion
 
BuilderprependConditions (string additionalQueryPredicates)
 
BuilderremoveTerm (Symbol termPredicate)
 remove the first term from this query definition, which matches the given predicate symbol More...
 
BuilderwithConditions (string additionalQueryPredicates)
 

Friends

class Query< RES >
 

Private Member Functions

 Builder (QueryID kind, string baseDef="")
 

Private Attributes

string predicateForm_
 
QueryID typeID_
 

Member Function Documentation

◆ asKey()

string asKey ( ) const
inline
Returns
a string representation usable for hashing
Note
includes the type parameter of the underlying query

Definition at line 512 of file query.hpp.

◆ extractID()

string extractID ( Symbol  predicate) const
inline

extract an ID term defined as (single) parameter for the given predicate.

E.g. when using the query "foo(a), bar(b)", extractID("bar") returns "b"

Parameters
predicatesymbol of the predicate to investigate
Warning
preliminary implementation

Definition at line 526 of file query.hpp.

◆ removeTerm()

Builder& removeTerm ( Symbol  termPredicate)
inline

remove the first term from this query definition, which matches the given predicate symbol

Warning
preliminary implementation

Definition at line 537 of file query.hpp.

+ Collaboration diagram for Query< RES >::Builder:

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