Clingo
Loading...
Searching...
No Matches

Data structures and functions to represent statements. More...

Classes

class  CppClingo::Input::StmRule
 A rule. More...
 
class  CppClingo::Input::TheoryOpDefinition
 A theory operator definition. More...
 
class  CppClingo::Input::TheoryTermDefinition
 A theory term definition. More...
 
class  CppClingo::Input::TheoryRGuardDefinition
 An optional definition for the right-hand-side of a theory atom. More...
 
class  CppClingo::Input::TheoryAtomDefinition
 A theory atom definition. More...
 
class  CppClingo::Input::StmTheory
 A theory definition. More...
 
class  CppClingo::Input::OptimizeTuple
 The tuple of a minimize element. More...
 
class  CppClingo::Input::OptimizeElement
 An optimize element. More...
 
class  CppClingo::Input::StmOptimize
 An optimization statement. More...
 
class  CppClingo::Input::StmWeakConstraint
 A weak constraint. More...
 
class  CppClingo::Input::StmShow
 A show statement. More...
 
class  CppClingo::Input::StmShowSig
 A show signature statement. More...
 
class  CppClingo::Input::StmShowNothing
 A show signature statement. More...
 
class  CppClingo::Input::StmProject
 A project statement. More...
 
class  CppClingo::Input::StmProjectSig
 A project signature statement. More...
 
class  CppClingo::Input::StmDefined
 A defined statement. More...
 
class  CppClingo::Input::StmExternal
 An external statement. More...
 
class  CppClingo::Input::Edge
 An directed edge. More...
 
class  CppClingo::Input::StmEdge
 An edge statement. More...
 
class  CppClingo::Input::StmHeuristic
 A heuristic statement. More...
 
class  CppClingo::Input::StmScript
 A script statement. More...
 
class  CppClingo::Input::StmInclude
 An include statement. More...
 
class  CppClingo::Input::StmProgram
 A program statement. More...
 
class  CppClingo::Input::StmConst
 A const statement. More...
 
class  CppClingo::Input::StmParts
 A parts statement. More...
 
class  CppClingo::Input::StmComment
 A comment. More...
 

Typedefs

using CppClingo::Input::TheoryOpDefinitionArray = Util::immutable_array< TheoryOpDefinition >
 A vector of theory operator definitions.
 
using CppClingo::Input::TheoryTermDefinitionArray = Util::immutable_array< TheoryTermDefinition >
 A vector of theory term definitions.
 
using CppClingo::Input::TheoryAtomDefinitionArray = Util::immutable_array< TheoryAtomDefinition >
 A vector of theory atom definitions.
 
using CppClingo::Input::OptimizeElementArray = Util::immutable_array< OptimizeElement >
 A vector of optimize elements.
 
using CppClingo::Input::EdgeArray = Util::immutable_array< Edge >
 A vector of edges.
 
using CppClingo::Input::ProgramParam = std::pair< SharedString, std::vector< SharedSymbol > >
 Concrete symbols for a program statement.
 
using CppClingo::Input::ProgramParamVec = std::vector< ProgramParam >
 A list of program params.
 
using CppClingo::Input::Stm = std::variant< StmRule, StmTheory, StmOptimize, StmWeakConstraint, StmShow, StmShowNothing, StmShowSig, StmProject, StmProjectSig, StmDefined, StmExternal, StmEdge, StmHeuristic, StmScript, StmInclude, StmProgram, StmConst, StmParts, StmComment >
 Variant of available statements.
 
using CppClingo::Input::StmVec = std::vector< Stm >
 A vector of statements.
 

Enumerations

enum class  CppClingo::Input::TheoryOpType : uint8_t { TheoryOpType::unary , TheoryOpType::binary_left , TheoryOpType::binary_right }
 The type of a theory operator. More...
 
enum class  CppClingo::Input::TheoryAtomType : uint8_t { TheoryAtomType::head , TheoryAtomType::body , TheoryAtomType::any , TheoryAtomType::directive }
 Enumeration of theory atom types. More...
 
enum class  OptimizeType : uint8_t
 Enumeration of optimization statement types.
 
enum class  IncludeType : uint8_t
 Enumeration of include types.
 
enum class  CppClingo::Input::Precedence : uint8_t { default_ , Precedence::override_ }
 Enumeration of constant statement types. More...
 
enum class  CommentType : uint8_t
 Enumeration of comment types.
 

Detailed Description

Data structures and functions to represent statements.

Typedef Documentation

◆ ProgramParam

using CppClingo::Input::ProgramParam = typedef std::pair<SharedString, std::vector<SharedSymbol> >

Concrete symbols for a program statement.

See also
StmProgram

Enumeration Type Documentation

◆ Precedence

enum class CppClingo::Input::Precedence : uint8_t
strong

Enumeration of constant statement types.

See also
StatementConst
Enumerator
override_ 

A statement providing default value.

A statement overriding a default value.

◆ TheoryAtomType

enum class CppClingo::Input::TheoryAtomType : uint8_t
strong

Enumeration of theory atom types.

See also
TheoryAtomDefinition
Enumerator
head 

A theory atom that can appear only in the head.

body 

A theory atom that can appear only in the body.

any 

A theory atom that can appear only in the head and a body.

directive 

A theory atom that can appear only in the head with an empty body.

◆ TheoryOpType

enum class CppClingo::Input::TheoryOpType : uint8_t
strong

The type of a theory operator.

See also
TheoryOpDefinition
Enumerator
unary 

An unary theory operator.

binary_left 

An binary left associative theory operator.

binary_right 

An binary right associative theory operator.