clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Member Functions | List of all members
Gringo::Input::HeadAggregate Struct Referenceabstract

#include <aggregate.hh>

Inheritance diagram for Gringo::Input::HeadAggregate:
Inheritance graph
Collaboration diagram for Gringo::Input::HeadAggregate:
Collaboration graph

Public Member Functions

virtual void unpool (UHeadAggrVec &x, bool beforeRewrite)=0
 Unpool the aggregate and aggregate elements. More...
 
virtual void simplify (Projections &project, Term::DotsMap &dots, Term::ScriptMap &scripts, unsigned &auxNum)=0
 
virtual void assignLevels (AssignLevel &lvl)=0
 
virtual bool check (ChkLvlVec &lvl) const =0
 
virtual void rewriteArithmetics (Term::ArithmeticsMap &arith, unsigned &auxNum)=0
 
virtual UHeadAggr rewriteAggregates (UBodyAggrVec &aggr)=0
 
virtual UHeadAggr shiftHead (UBodyAggrVec &aggr)=0
 
virtual void collect (VarTermBoundVec &vars) const =0
 
virtual bool hasPool (bool beforeRewrite) const =0
 
virtual void replace (Defines &dx)=0
 
virtual CreateHead toGround (ToGroundArg &x, bool external) const =0
 
virtual Value isEDB () const
 
virtual ~HeadAggregate ()
 
- Public Member Functions inherited from Gringo::Printable
virtual void print (std::ostream &out) const =0
 
virtual ~Printable ()
 
- Public Member Functions inherited from Gringo::Hashable
virtual size_t hash () const =0
 
virtual ~Hashable ()
 
- Public Member Functions inherited from Gringo::Locatable
virtual Location const & loc () const =0
 
virtual void loc (Location const &loc)=0
 
virtual ~Locatable ()
 
- Public Member Functions inherited from Gringo::Clonable< HeadAggregate >
virtual HeadAggregate * clone () const =0
 
virtual ~Clonable ()
 
- Public Member Functions inherited from Gringo::Comparable< HeadAggregate >
virtual bool operator== (HeadAggregateconst &other) const =0
 
virtual bool operator!= (HeadAggregateconst &other) const
 
virtual ~Comparable ()
 

Constructor & Destructor Documentation

virtual Gringo::Input::HeadAggregate::~HeadAggregate ( )
inlinevirtual

Member Function Documentation

virtual void Gringo::Input::HeadAggregate::assignLevels ( AssignLevel lvl)
pure virtual

Assign levels to variables using the VarCollector.

Precondition
Must be called after simplify.

Implemented in Gringo::Input::SimpleHeadLiteral, Gringo::Input::Disjunction, Gringo::Input::LitHeadAggregate, and Gringo::Input::TupleHeadAggregate.

virtual bool Gringo::Input::HeadAggregate::check ( ChkLvlVec lvl) const
pure virtual
virtual void Gringo::Input::HeadAggregate::collect ( VarTermBoundVec vars) const
pure virtual

Collects all variables occuring in the aggregate. Occurrences bound by the aggregate are marked as such (occurrences bound in nested scopes are not marked).

Implemented in Gringo::Input::SimpleHeadLiteral, Gringo::Input::Disjunction, Gringo::Input::LitHeadAggregate, and Gringo::Input::TupleHeadAggregate.

virtual bool Gringo::Input::HeadAggregate::hasPool ( bool  beforeRewrite) const
pure virtual
Value Gringo::Input::HeadAggregate::isEDB ( ) const
virtual
virtual void Gringo::Input::HeadAggregate::replace ( Defines dx)
pure virtual
virtual UHeadAggr Gringo::Input::HeadAggregate::rewriteAggregates ( UBodyAggrVec aggr)
pure virtual
virtual void Gringo::Input::HeadAggregate::rewriteArithmetics ( Term::ArithmeticsMap arith,
unsigned &  auxNum 
)
pure virtual

Rewrite arithmetics.

Precondition
Requires variables assigned to levels.

Implemented in Gringo::Input::SimpleHeadLiteral, Gringo::Input::Disjunction, Gringo::Input::LitHeadAggregate, and Gringo::Input::TupleHeadAggregate.

virtual UHeadAggr Gringo::Input::HeadAggregate::shiftHead ( UBodyAggrVec aggr)
pure virtual
virtual void Gringo::Input::HeadAggregate::simplify ( Projections project,
Term::DotsMap dots,
Term::ScriptMap scripts,
unsigned &  auxNum 
)
pure virtual

Simplify the aggregate and aggregate elements.

Precondition
Must be called after unpool.

Implemented in Gringo::Input::SimpleHeadLiteral, Gringo::Input::Disjunction, Gringo::Input::LitHeadAggregate, and Gringo::Input::TupleHeadAggregate.

virtual CreateHead Gringo::Input::HeadAggregate::toGround ( ToGroundArg x,
bool  external 
) const
pure virtual
virtual void Gringo::Input::HeadAggregate::unpool ( UHeadAggrVec x,
bool  beforeRewrite 
)
pure virtual

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