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

A theory definition. More...

#include <statement.hh>

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

Public Member Functions

 StmTheory (Location loc, String name, TheoryTermDefinitionArray term_defs, TheoryAtomDefinitionArray atom_defs)
 Construct a theory definition.
 
auto loc () const -> Location const &
 The location of the definition.
 
auto name () const -> String const &
 The name of the definition.
 
auto term_defs () const -> TheoryTermDefinitionArray const &
 The theory term definitions.
 
auto atom_defs () const -> TheoryAtomDefinitionArray const &
 The theory atom definitions.
 
- 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 definition.

For example: #theory name { term { - : 0, unary }; name/2: term, any }.


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