dlvhex
2.5.0
|
Implements a lookup table for custom key and value types. More...
#include <include/dlvhex2/Table.h>
Public Types | |
typedef boost::multi_index_container < ValueT, IndexT > | Container |
typedef boost::shared_lock < boost::shared_mutex > | ReadLock |
typedef boost::unique_lock < boost::shared_mutex > | WriteLock |
Public Member Functions | |
Table () | |
Constructor. | |
std::ostream & | print (std::ostream &o) const |
Prints the table in human-readable format. | |
Table (const Table &other) | |
Copy-constructor. | |
Table & | operator= (const Table &other) |
Assignment operator. | |
unsigned | getSize () const |
Retrieves the size of the table. | |
Data Fields | |
boost::shared_mutex | mutex |
Multithreading mutex. | |
Protected Attributes | |
Container | container |
Internal container. |
Implements a lookup table for custom key and value types.
std::ostream & Table< ValueT, IndexT >::print | ( | std::ostream & | o | ) | const |
Prints the table in human-readable format.
o | Stream to print to. |
o
. Reimplemented in ModuleTable.
Internal container.
Definition at line 99 of file Table.h.
Referenced by RuleTable::clear(), ModuleTable::getAddressByName(), ModuleTable::getAllByAddress(), ModuleAtomTable::getAllByAddress(), PredicateTable::getAllByAddress(), RuleTable::getAllByAddress(), OrdinaryAtomTable::getAllByAddress(), ModuleTable::getByAddress(), OrdinaryAtomTable::getByAddress(), PredicateTable::getByID(), ModuleAtomTable::getByID(), OrdinaryAtomTable::getByID(), RuleTable::getByID(), PredicateTable::getByString(), OrdinaryAtomTable::getIDAddressByStorage(), ModuleAtomTable::getIDByElement(), RuleTable::getIDByElement(), OrdinaryAtomTable::getIDByStorage(), PredicateTable::getIDByString(), OrdinaryAtomTable::getIDByString(), OrdinaryAtomTable::getIDByTuple(), ModuleTable::getModuleByName(), ModuleTable::getModuleName(), ModuleAtomTable::getRangeByPredicateID(), OrdinaryAtomTable::getRangeByPredicateID(), Table< AggregateAtom, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< impl::AddressTag > > > >::getSize(), Table< AggregateAtom, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< impl::AddressTag > > > >::operator=(), ModuleTable::print(), PredicateTable::setArity(), ModuleTable::storeAndGetAddress(), PredicateTable::storeAndGetID(), RuleTable::storeAndGetID(), ModuleAtomTable::storeAndGetID(), OrdinaryAtomTable::storeAndGetID(), RuleTable::update(), and ModuleAtomTable::update().
boost::shared_mutex Table< ValueT, IndexT >::mutex [mutable] |
Multithreading mutex.
Definition at line 92 of file Table.h.
Referenced by RuleTable::clear(), ModuleTable::getAddressByName(), ModuleTable::getAllByAddress(), ModuleAtomTable::getAllByAddress(), PredicateTable::getAllByAddress(), RuleTable::getAllByAddress(), OrdinaryAtomTable::getAllByAddress(), ModuleTable::getByAddress(), OrdinaryAtomTable::getByAddress(), PredicateTable::getByID(), ModuleAtomTable::getByID(), OrdinaryAtomTable::getByID(), RuleTable::getByID(), PredicateTable::getByString(), OrdinaryAtomTable::getIDAddressByStorage(), ModuleAtomTable::getIDByElement(), RuleTable::getIDByElement(), OrdinaryAtomTable::getIDByStorage(), PredicateTable::getIDByString(), OrdinaryAtomTable::getIDByString(), OrdinaryAtomTable::getIDByTuple(), ModuleTable::getModuleByName(), ModuleTable::getModuleName(), ModuleAtomTable::getRangeByPredicateID(), OrdinaryAtomTable::getRangeByPredicateID(), Table< AggregateAtom, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< impl::AddressTag > > > >::getSize(), Table< AggregateAtom, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< impl::AddressTag > > > >::operator=(), ModuleTable::print(), PredicateTable::setArity(), ModuleTable::storeAndGetAddress(), PredicateTable::storeAndGetID(), RuleTable::storeAndGetID(), ModuleAtomTable::storeAndGetID(), OrdinaryAtomTable::storeAndGetID(), RuleTable::update(), and ModuleAtomTable::update().