Clingo
Loading...
Searching...
No Matches
CppClingo::Input::TheoryAtom< HasSign > Class Template Reference

A theory atom. More...

#include <theory.hh>

Inheritance diagram for CppClingo::Input::TheoryAtom< HasSign >:
CppClingo::Input::Expression< TheoryAtom< HasSign > > CppClingo::Util::Record::Base< Rec >

Public Types

using Base = std::conditional_t< HasSign, Signed, Unsigned >
 The parent class.
 

Public Member Functions

 TheoryAtom (Location loc, Term name, TheoryElementArray elems, std::optional< TheoryRGuard > rhs)
 Construct a theory atom.
 
 TheoryAtom (Location loc, Sign sign, Term name, TheoryElementArray elems, std::optional< TheoryRGuard > rhs)
 Construct a theory atom.
 
auto loc () const -> Location const &
 The location of the symbol.
 
auto name () const -> Term const &
 The name of the atom.
 
auto elems () const -> TheoryElementArray const &
 The elements of the atom.
 
auto rhs () const -> std::optional< TheoryRGuard > const &
 The optional right guard of the atom.
 
- Public Member Functions inherited from CppClingo::Util::Record::Base< Rec >
template<auto tag>
auto get_value () const -> decltype(auto)
 Get the attribute with the given tag.
 
template<class... Args>
requires ValidArguments<Rec, Args...>
auto update (Args &&...args) const
 See update_record().
 
template<class... Args>
requires ValidArguments<Rec, Args...>
auto rewrite (Args &&...args) const
 See rewrite_record().
 
auto equal (Base const &other) const -> bool
 Equality compare to records.
 
auto compare (Base const &other) const -> std::strong_ordering
 Compare to records.
 
auto hash () const -> size_t
 Compute the hash of the record.
 

Static Public Member Functions

static constexpr auto attributes ()
 The record attributes.
 

Detailed Description

template<bool HasSign>
class CppClingo::Input::TheoryAtom< HasSign >

A theory atom.

For example: &sum { X+Y: p(X), q(Y) } >= 0.


The documentation for this class was generated from the following file: