Clingo
|
Data structures and functions to ground terms. More...
Classes | |
class | CppClingo::Ground::Term |
Term interface. More... | |
class | CppClingo::Ground::TermProjection |
A term capturing a projection. More... | |
class | CppClingo::Ground::TermSymbol |
A term capturing a symbol. More... | |
class | CppClingo::Ground::TermFormatString |
A term capturing a symbol. More... | |
class | CppClingo::Ground::TermVariable |
A term capturing a variable. More... | |
class | CppClingo::Ground::TermLinear |
A term capturing a linear term. More... | |
class | CppClingo::Ground::TermUnary |
A term capturing a unary term. More... | |
class | CppClingo::Ground::TermBinary |
A term capturing a binary term. More... | |
class | CppClingo::Ground::TermTuple |
A term capturing a tuple. More... | |
class | CppClingo::Ground::TermFunction |
A term capturing a tuple. More... | |
Typedefs | |
using | CppClingo::Ground::UTerm = std::unique_ptr< Term > |
A unique pointer holding a term. | |
using | CppClingo::Ground::UTermVec = std::vector< UTerm > |
A vector of terms. | |
using | CppClingo::Ground::GuardVec = std::vector< std::pair< Relation, UTerm > > |
A vector of guards. | |
using | CppClingo::Ground::FormatField = std::variant< SharedString, std::pair< UTerm, FormatSpec > > |
A format specification. | |
using | CppClingo::Ground::FormatFieldVec = std::vector< FormatField > |
A vector of format fields. | |
Enumerations | |
enum class | CppClingo::Ground::RenameMode : uint8_t { RenameMode::rename_vars , RenameMode::rename_projection , RenameMode::drop_projection } |
Modes determining how to handle variables in terms. More... | |
enum class | CppClingo::Ground::UnaryOperator : uint8_t { UnaryOperator::minus = 0 , UnaryOperator::negate = 1 , UnaryOperator::abs = 2 } |
Available unary operations. More... | |
enum class | CppClingo::Ground::BinaryOperator : uint8_t { BinaryOperator::and_ , BinaryOperator::div , BinaryOperator::minus , BinaryOperator::mod , BinaryOperator::times , BinaryOperator::or_ , BinaryOperator::plus , BinaryOperator::pow , BinaryOperator::xor_ } |
Available binary operations. More... | |
Functions | |
template<class T > requires requires(T x) { { x.copy() } -> std::convertible_to<std::unique_ptr<T>>; } | |
auto | CppClingo::Ground::copy_uvec (std::vector< std::unique_ptr< T > > const &vec) |
Helper to copy vectors with copyable elements. | |
template<class T > requires requires(T x) { { x.copy() } -> std::convertible_to<std::unique_ptr<T>>; } | |
auto | CppClingo::Ground::copy_uvec (std::vector< std::vector< std::unique_ptr< T > > > const &vec) |
Helper to copy vectors with copyable elements. | |
template<class... T> | |
auto | CppClingo::Ground::expect (EvalContext const &ctx, Location const &loc, bool &logged, T &&...args) -> bool |
Helper to report a message only once. | |
Data structures and functions to ground terms.
using CppClingo::Ground::FormatField = typedef std::variant<SharedString, std::pair<UTerm, FormatSpec> > |
A format specification.
It is either a fixed string or a variable with format flags.
|
strong |
Available binary operations.
|
strong |
|
strong |