Data structures and functions to ground terms.
More...
|
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.
|
|
|
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...
|
|
|
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.
◆ BinaryOperator
Available binary operations.
Enumerator |
---|
and_ | The AND bit operation.
|
div | The (integer) divide arithmetic operation.
|
minus | The minus arithmetic operation.
|
mod | The modulo arithmetic operation.
|
times | The multiply arithmetic operation.
|
or_ | The OR bit operation.
|
plus | The plus arithmetic operation.
|
pow | The exponentiation arithmetic operation.
|
xor_ | The XOR bit operation.
|
◆ RenameMode
Modes determining how to handle variables in terms.
Enumerator |
---|
rename_vars | Successively rename variables in order of traversal.
|
rename_projection | Successively introduce variables for projections in order of traversal.
|
drop_projection | Drop projections from tuples and functions.
|
◆ UnaryOperator
Available unary operations.
Enumerator |
---|
minus | The unary arithmetic minus operation.
|
negate | The bitwise negation operation.
|
abs | The arithmetic absolute operation.
|