DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <GraphNodeSetTable.hh>
Public Types | |
typedef Diades::Utils::Exception< GraphNodeSetTable > | Exception |
using | Children = typename NodeElement< T >::Children |
using | NdElement = NodeElement< T > |
Public Member Functions | |
GraphNodeSetTable () | |
info object that is returned in case an specific info is not found, undetermined value More... | |
~GraphNodeSetTable () | |
const T & | getInfo (const GraphNodeSet &ns, bool &found) const |
T & | getInfo (const GraphNodeSet &ns, bool &found) |
T & | insertIfNotFound (const GraphNodeSet &ns, const T &info, bool &found) |
Static Public Member Functions | |
static string | typeName () |
Private Attributes | |
NdElement | _root |
T | _defaultInfo |
root of the tree, if it is tagged then it encodes the presence of the empty set More... | |
A GraphNodeSetTable is a container that represents GraphNodeSet objects. The main idea is to provide an efficient data sructure to test the existence of a GraphNodeSet in a set of GraphNodeSet objects. Each GraphNodeSet is associated with an information that can be efficiently retrieved from a given GraphNodeSet. A GraphNodeSetTable is a list of NodeElement's trees. A GraphNodeSet is represented by an ordered sequence of NodeElement objects between the roots and a NodeElement that is tagged. The information associated to the GraphNodeSet is associated to the NodeElement that is tagged.
Definition at line 229 of file GraphNodeSetTable.hh.
using Diades::Graph::GraphNodeSetTable< T >::Children = typename NodeElement<T>::Children |
Definition at line 236 of file GraphNodeSetTable.hh.
typedef Diades::Utils::Exception<GraphNodeSetTable> Diades::Graph::GraphNodeSetTable< T >::Exception |
Definition at line 235 of file GraphNodeSetTable.hh.
using Diades::Graph::GraphNodeSetTable< T >::NdElement = NodeElement<T> |
Definition at line 237 of file GraphNodeSetTable.hh.
|
inline |
info object that is returned in case an specific info is not found, undetermined value
Default constructor Make an empty table
Definition at line 247 of file GraphNodeSetTable.hh.
|
inline |
Destructor
Definition at line 253 of file GraphNodeSetTable.hh.
|
inline |
ns | a GraphNodeSet |
found | a Boolean that indicates if 'ns' is present or not |
Definition at line 262 of file GraphNodeSetTable.hh.
References Diades::Graph::GraphNodeSet::begin(), Diades::Graph::GraphNodeSet::end(), Diades::Graph::NodeElement< T >::getChild(), Diades::Graph::NodeElement< T >::getInfo(), Diades::Graph::GraphNodeSet::isEmpty(), and Diades::Graph::NodeElement< T >::isTagged().
|
inline |
ns | a GraphNodeSet |
found | a Boolean that indicates if 'ns' is present or not |
Definition at line 292 of file GraphNodeSetTable.hh.
References Diades::Graph::GraphNodeSet::begin(), Diades::Graph::GraphNodeSet::end(), Diades::Graph::NodeElement< T >::getChild(), Diades::Graph::NodeElement< T >::getInfo(), Diades::Graph::GraphNodeSet::isEmpty(), and Diades::Graph::NodeElement< T >::isTagged().
|
inline |
Insertion
ns | a GraphNodeSet |
info | an Information |
found | a Boolean that indicates if 'ns' is present or not |
Definition at line 324 of file GraphNodeSetTable.hh.
References Diades::Graph::GraphNodeSet::begin(), Diades::Graph::GraphNodeSet::end(), Diades::Graph::NodeElement< T >::getInfo(), Diades::Graph::NodeElement< T >::insertChildIfNotFound(), Diades::Graph::GraphNodeSet::isEmpty(), Diades::Graph::NodeElement< T >::isTagged(), and Diades::Graph::NodeElement< T >::setInfo().
|
inlinestatic |
Definition at line 232 of file GraphNodeSetTable.hh.
|
private |
root of the tree, if it is tagged then it encodes the presence of the empty set
Definition at line 240 of file GraphNodeSetTable.hh.
|
private |
Definition at line 239 of file GraphNodeSetTable.hh.