dlvhex  2.5.0
ComponentGraph::ComponentInfo Struct Reference

Implements meta information about components. More...

#include <include/dlvhex2/ComponentGraph.h>

Inheritance diagram for ComponentGraph::ComponentInfo:
Collaboration diagram for ComponentGraph::ComponentInfo:

Public Member Functions

 ComponentInfo ()
 Constructor.
std::ostream & print (std::ostream &o) const

Data Fields

std::list< DependencyGraph::Nodesources
 List of nodes.
std::vector< IDouterEatoms
 Outer external atoms in the component, i.e., external atoms which do not depend on atoms defined in this component.
std::vector< IDinnerRules
 Inner rules in the component (except constraints), i.e., rules which may cyclically depend on atoms defined in this component.
std::vector< IDinnerEatoms
 Inner external atoms in the component, i.e., external atoms which cyclically depend on atoms defined in this component.
std::vector< IDinnerConstraints
 Inner constraints in the component, i.e., rules which may cyclically depend on atoms defined in this component.
boost::unordered_map< ID,
std::set< ID > > 
stronglySafeVariables
 Stores for each rule the set of strongly safe variables in the rule.
boost::unordered_map< ID,
std::set< ID > > 
stratifiedLiterals
 Stores for each rule the set of stratified literals in the rule, i.e., which do not depend on atoms derived in the component.
std::set< IDpredicatesDefinedInComponent
 Set of all predicates defined in the component.
std::set< IDpredicatesOccurringInComponent
 Set of all predicates occurring in the component.
bool disjunctiveHeads
 Component contains disjunctive heads.
bool negativeDependencyBetweenRules
 Component contains negative dependencies between rules.
bool innerEatomsNonmonotonic
 Component contains nonmonotonic inner external atoms.
bool outerEatomsNonmonotonic
 Component contains nonmonotonic outer external atoms.
bool componentIsMonotonic
 Component is purely monotonic.
bool fixedDomain
 Component does not make use of value invention.
bool recursiveAggregates
 Component contains recursive aggregates.

Detailed Description

Implements meta information about components.

Definition at line 79 of file ComponentGraph.h.


Constructor & Destructor Documentation

Constructor.

Definition at line 123 of file ComponentGraph.h.


Member Function Documentation

std::ostream & ComponentGraph::ComponentInfo::print ( std::ostream &  o) const

Definition at line 86 of file ComponentGraph.cpp.

References printrange().


Field Documentation

boost::unordered_map<ID, std::set<ID> > ComponentGraph::ComponentInfo::stratifiedLiterals

Stores for each rule the set of stratified literals in the rule, i.e., which do not depend on atoms derived in the component.

Definition at line 99 of file ComponentGraph.h.

Referenced by BaseModelGeneratorFactory::addDomainPredicatesAndCreateDomainExplorationProgram(), ComponentGraph::calculateFixedDomain(), and ComponentGraph::calculateStratificationInfo().

boost::unordered_map<ID, std::set<ID> > ComponentGraph::ComponentInfo::stronglySafeVariables

Stores for each rule the set of strongly safe variables in the rule.

Definition at line 97 of file ComponentGraph.h.

Referenced by ComponentGraph::calculateFixedDomain(), and ComponentGraph::computeCollapsedComponentInfos().


The documentation for this struct was generated from the following files: