Clingo
Loading...
Searching...
No Matches

Library for core functionality. More...

Modules

 Numbers
 Data structures and functions to represent arbitrary precision integers.
 
 Symbols
 Data structures and functions to represent symbols.
 
 Source Locations
 Data structures and functions to track source locations.
 
 Logging
 Functions and classes for logging.
 
 Output
 Interfaces to output logic programs.
 

Typedefs

using CppClingo::TheorySig = std::tuple< String, size_t >
 A signature of a theory atom.
 
using CppClingo::TheorySigVec = std::vector< TheorySig >
 A vector of theory atom signatures.
 

Enumerations

enum class  CppClingo::Sign : uint8_t { Sign::none , Sign::once , Sign::twice }
 Enumeration of signs (default negation). More...
 
enum class  CppClingo::Relation : uint8_t {
  Relation::equal , Relation::not_equal , Relation::less , Relation::less_equal ,
  Relation::greater , Relation::greater_equal
}
 Enumeration of supported relations. More...
 
enum class  CppClingo::TruthValue : uint8_t { TruthValue::top , TruthValue::bot , TruthValue::unknown }
 Truth values for expressions. More...
 
enum class  CppClingo::AggregateFunction : uint8_t {
  count , AggregateFunction::sum , AggregateFunction::sump , AggregateFunction::min ,
  AggregateFunction::max
}
 Enumeration of aggregate functions. More...
 
enum class  TheoryTermTupleType : uint8_t
 Enumeration of theory term tuple types.
 
enum class  CppClingo::HeuristicType : uint8_t {
  level = 0 , sign = 1 , factor = 2 , init = 3 ,
  true_ = 4 , false_ = 5
}
 Available heuristic types.
 
enum class  CppClingo::ExternalType : uint8_t { free = 0 , true_ = 1 , false_ = 2 , release = 3 }
 Available external types.
 

Functions

auto CppClingo::operator- (Sign a) -> Sign
 Negate the sign.
 
auto CppClingo::operator+ (Sign a, Sign b) -> Sign
 Combine two signs.
 
auto CppClingo::operator+= (Sign &a, Sign b) -> Sign &
 Combine two signs.
 
auto CppClingo::operator<< (std::ostream &out, Sign sign) -> std::ostream &
 Output the given sign.
 
auto CppClingo::operator<< (Util::OutputBuffer &out, Sign sign) -> Util::OutputBuffer &
 Output the given sign.
 
auto CppClingo::flip (Relation rel) -> Relation
 Return the equivalent relation when arguments are flipped.
 
auto CppClingo::complement (Relation rel) -> Relation
 Return the complement of the given relation.
 
auto CppClingo::evaluate (auto const &lhs, Relation rel, auto const &rhs) -> bool
 Evaluate the comparison.
 
auto CppClingo::operator<< (std::ostream &out, Relation rel) -> std::ostream &
 Output the given relation.
 
auto CppClingo::operator<< (Util::OutputBuffer &out, Relation rel) -> Util::OutputBuffer &
 Output the given relation.
 
auto CppClingo::operator<< (std::ostream &out, AggregateFunction fun) -> std::ostream &
 Output the given aggregate function.
 
auto CppClingo::operator<< (Util::OutputBuffer &out, AggregateFunction fun) -> Util::OutputBuffer &
 Output the given aggregate function.
 
auto CppClingo::neutral_val (AggregateFunction fun) -> Symbol
 Get the neutral value for the given aggregate function.
 
auto CppClingo::neutral_num (AggregateFunction fun) -> std::variant< Number, Symbol >
 Get the neutral value or number for the given aggregate function.
 
auto CppClingo::relevant_val (AggregateFunction fun, Symbol sym) -> bool
 Check if the symbol is relevant for the given aggregate function.
 
auto CppClingo::operator<< (Util::OutputBuffer &out, HeuristicType type) -> Util::OutputBuffer &
 Output the given heuristic type.
 
auto CppClingo::operator<< (Util::OutputBuffer &out, ExternalType type) -> Util::OutputBuffer &
 Output the given external type.
 

Detailed Description

Library for core functionality.

Enumeration Type Documentation

◆ AggregateFunction

enum class CppClingo::AggregateFunction : uint8_t
strong

Enumeration of aggregate functions.

Enumerator
sum 

The #count function.

sump 

The #sum function.

min 

The #sum+ function.

max 

The #min function.

◆ Relation

enum class CppClingo::Relation : uint8_t
strong

Enumeration of supported relations.

Enumerator
equal 

The equal to symbol (=).

not_equal 

The not equal to symbol (!=).

less 

The less than symbol (<).

less_equal 

The less than or equal to symbol (<=).

greater 

The greater than symbol (>).

greater_equal 

The greater than or equal to symbol (>=).

◆ Sign

enum class CppClingo::Sign : uint8_t
strong

Enumeration of signs (default negation).

Enumerator
none 

No sign.

once 

One sign (not).

twice 

Two signs (not not).

◆ TruthValue

enum class CppClingo::TruthValue : uint8_t
strong

Truth values for expressions.

Enumerator
top 

Indicate a true expression.

bot 

Indicate a false expression.

unknown 

Indicate an expression with an unknown truth value.