3#include <unordered_map>
16template<
typename BeliefType>
74 std::vector<BeliefType> gatheredBeliefs;
76 std::vector<std::unordered_multimap<std::size_t, BeliefId>> beliefToIdMap;
Interns beliefs and assigns them consecutive identifiers.
bool containsBelief(BeliefType const &belief) const
BeliefId getIdOptional(BeliefType const &belief) const
BeliefType const & getBeliefFromId(BeliefId const &id) const
static constexpr bool HasConsecutiveIds
BeliefId addBelief(BeliefType &&inputBelief)
Adds a fresh belief and returns its ID.
BeliefId getNumberOfBeliefIds() const
BeliefId getIdOrAddBelief(BeliefType &&belief)
Checks if the given belief has already been collected before.
bool containsId(BeliefId const &id) const
BeliefId getIdFromBelief(BeliefType const &belief) const
bool isEqual(BeliefId const &first, BeliefId const &second) const