Clingo
Loading...
Searching...
No Matches
CppClingo::Input::TheoryAtomDefinition Class Reference

A theory atom definition. More...

#include <statement.hh>

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

Public Member Functions

 TheoryAtomDefinition (Location loc, String name, int arity, String term, std::optional< TheoryRGuardDefinition > rhs, TheoryAtomType type)
 Construct a theory atom definition.
 
auto loc () const -> Location const &
 The location of the definition.
 
auto name () const -> String const &
 The name of the atom.
 
auto arity () const -> int
 The arity of the atom.
 
auto term () const -> String const &
 The name of the term definition used in elements.
 
auto rhs () const -> std::optional< TheoryRGuardDefinition > const &
 The definition for the right hand side of the atom.
 
auto type () const -> TheoryAtomType
 The type 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

A theory atom definition.

For example: name/2: term, any.


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