Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends
InformationScripting::Reachable Class Reference
Inheritance diagram for InformationScripting::Reachable:
InformationScripting::LinearQuery InformationScripting::Query

Public Member Functions

virtual Optional< TupleSetexecuteLinear (TupleSet input) override
 
- Public Member Functions inherited from InformationScripting::LinearQuery
 LinearQuery (Model::Node *target=nullptr)
 
virtual QList< Optional< TupleSet > > execute (QList< TupleSet > input) override
 
- Public Member Functions inherited from InformationScripting::Query
 Query (Model::Node *target=nullptr)
 
virtual ~Query ()=default
 
bool hasInput () const
 
virtual void setHasInput ()
 
Model::Nodetarget () const
 

Static Public Member Functions

static void registerDefaultQueries ()
 

Private Member Functions

 Reachable (Model::Node *target, QStringList args, std::vector< ArgumentRule > argumentRules)
 
std::vector< Tupleneighbors (const Tuple &t)
 
TupleSet reachableNodesFrom (std::vector< Tuple > startNodes)
 

Private Attributes

ArgumentParser arguments_
 
bool matchSelf_ {}
 
QSet< TuplerelationTuples_
 

Static Private Attributes

static const QStringList NAME_ARGUMENT_NAMES {"n", "name"}
 
static const QStringList RELATION_ARGUMENT_NAMES {"r", "relation"}
 
static const QStringList SELF_ARGUMENT_NAMES {"s", "self"}
 

Friends

class QueryRegistry
 

Constructor & Destructor Documentation

◆ Reachable()

InformationScripting::Reachable::Reachable ( Model::Node target,
QStringList  args,
std::vector< ArgumentRule argumentRules 
)
private

Member Function Documentation

◆ executeLinear()

Optional< TupleSet > InformationScripting::Reachable::executeLinear ( TupleSet  input)
overridevirtual

◆ neighbors()

std::vector< Tuple > InformationScripting::Reachable::neighbors ( const Tuple t)
private

◆ reachableNodesFrom()

TupleSet InformationScripting::Reachable::reachableNodesFrom ( std::vector< Tuple startNodes)
private

◆ registerDefaultQueries()

void InformationScripting::Reachable::registerDefaultQueries ( )
static

Friends And Related Function Documentation

◆ QueryRegistry

friend class QueryRegistry
friend

Member Data Documentation

◆ arguments_

ArgumentParser InformationScripting::Reachable::arguments_
private

◆ matchSelf_

bool InformationScripting::Reachable::matchSelf_ {}
private

◆ NAME_ARGUMENT_NAMES

const QStringList InformationScripting::Reachable::NAME_ARGUMENT_NAMES {"n", "name"}
staticprivate

◆ RELATION_ARGUMENT_NAMES

const QStringList InformationScripting::Reachable::RELATION_ARGUMENT_NAMES {"r", "relation"}
staticprivate

◆ relationTuples_

QSet<Tuple> InformationScripting::Reachable::relationTuples_
private

◆ SELF_ARGUMENT_NAMES

const QStringList InformationScripting::Reachable::SELF_ARGUMENT_NAMES {"s", "self"}
staticprivate