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

A set aggregate. More...

#include <aggregate.hh>

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

Public Types

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

Public Member Functions

 SetAggregate (Location loc, LGuard lhs, SetAggregateElementArray elems, RGuard rhs)
 Construct a set aggregate.
 
 SetAggregate (Location loc, Sign sign, LGuard lhs, SetAggregateElementArray elems, RGuard rhs)
 Construct a set aggregate.
 
auto loc () const -> Location const &
 The location of the aggregate.
 
auto elems () const -> SetAggregateElementArray const &
 The elements of the set aggregate.
 
auto lhs () const -> LGuard const &
 The optional right guard of the aggregate.
 
auto rhs () const -> RGuard const &
 The optional left guard of the aggregate.
 
- 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::SetAggregate< HasSign >

A set aggregate.

For example: { p(X): q(X) } = 1.


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