25#ifndef PREDICATEINDEX_HPP
26#define PREDICATEINDEX_HPP
32#include<unordered_map>
34#include "Predicate.hpp"
35#include "FunctionHash.hpp"
39using std::unordered_map;
45using PredIndexType = pair<string, Arity>;
46using PredMapType = pair<PredIndexType, Predicate*>;
63 vector<Predicate*> preds;
67 unordered_map<PredIndexType, Predicate*, fun_hash> name_index;
Basic representation of predicates: here just names, ids and arities.
Definition Predicate.hpp:51
Management of Predicate objects.
Definition PredicateIndex.hpp:58
Predicate * find_predicate(const string &, Arity)
Self-explanatory.
Definition PredicateIndex.cpp:54
Predicate * add_predicate(const string &, Arity)
Self-explanatory.
Definition PredicateIndex.cpp:39
bool true_false_added() const
Sometimes $true and $false appear in the TPTP collection. See if you included them during the parsing...
Definition PredicateIndex.cpp:75
size_t get_num_preds() const
Basic get method.
Definition PredicateIndex.hpp:87
Predicate * operator[](size_t i)
Access to Predicate pointers, but don't mess with them!
Definition PredicateIndex.hpp:116
Arity find_maximum_arity() const
Find the largest arity appearing in the index.
Definition PredicateIndex.cpp:65
PredicateIndex(const PredicateIndex &)=delete
Copying these is a terrible idea.