pulsatrix
Loading...
Searching...
No Matches
pulsatrix::datalog::FactDatabase Class Reference

A fact database: a set of ground atoms. Boolean semiring only (Mission 0's scope) – a fact is simply present or absent, with no associated weight/provenance (Mission 1's scope). More...

#include <datalog_fact_database.hpp>

Public Member Functions

 FactDatabase ()=default
 
 FactDatabase (FactSet facts)
 
bool insert (Atom fact)
 Adds a fact.
 
bool contains (const Atom &fact) const
 
std::size_t size () const
 
bool empty () const
 
const FactSet & facts () const
 
bool operator== (const FactDatabase &other) const
 
bool operator!= (const FactDatabase &other) const
 

Detailed Description

A fact database: a set of ground atoms. Boolean semiring only (Mission 0's scope) – a fact is simply present or absent, with no associated weight/provenance (Mission 1's scope).

Constructor & Destructor Documentation

◆ FactDatabase() [1/2]

pulsatrix::datalog::FactDatabase::FactDatabase ( )
default

◆ FactDatabase() [2/2]

pulsatrix::datalog::FactDatabase::FactDatabase ( FactSet  facts)
explicit

Member Function Documentation

◆ contains()

bool pulsatrix::datalog::FactDatabase::contains ( const Atom &  fact) const
inline

◆ empty()

bool pulsatrix::datalog::FactDatabase::empty ( ) const
inline

◆ facts()

const FactSet & pulsatrix::datalog::FactDatabase::facts ( ) const
inline

◆ insert()

bool pulsatrix::datalog::FactDatabase::insert ( Atom  fact)

Adds a fact.

Exceptions
std::invalid_argumentif fact is not ground (contains a variable term) – a FactDatabase holds only ground atoms by construction.
Returns
true if the fact was newly inserted, false if it was already present.

◆ operator!=()

bool pulsatrix::datalog::FactDatabase::operator!= ( const FactDatabase &  other) const
inline

◆ operator==()

bool pulsatrix::datalog::FactDatabase::operator== ( const FactDatabase &  other) const
inline

◆ size()

std::size_t pulsatrix::datalog::FactDatabase::size ( ) const
inline

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