#include <edge_model.h>


Public Types | |
| enum | CommunicationDirection { CD_IN = 0, CD_OUT, CD_BIDI, CD_ANY, CD___DO_NOT_USE_COUNT__ } |
| typedef AbstractAdjacencyIterator < Node > | adjacency_iterator |
| typedef AbstractAdjacencyIterator < const Node > | const_adjacency_iterator |
Public Member Functions | |
| EdgeModel () | |
| virtual | ~EdgeModel () |
| virtual void | set_world (World &) throw () |
| virtual void | set_communication_model (const CommunicationModel &) throw () |
| World & | world_w (void) throw () |
| const World & | world (void) const throw () |
| const CommunicationModel & | communication_model (void) const throw () |
| virtual void | init (void) throw () |
| virtual bool | supports_mobility (void) const =0 throw () |
| virtual int | nof_adjacent_nodes (const Node &, CommunicationDirection d=CD_BIDI) const =0 throw () |
| virtual const_adjacency_iterator | begin_adjacent_nodes (const Node &, CommunicationDirection d=CD_BIDI) const =0 throw () |
| virtual const_adjacency_iterator | end_adjacent_nodes (const Node &) const =0 throw () |
| virtual adjacency_iterator | begin_adjacent_nodes_w (Node &, CommunicationDirection d=CD_BIDI)=0 throw () |
| virtual adjacency_iterator | end_adjacent_nodes_w (Node &)=0 throw () |
| virtual bool | can_communicate_bidi (const Node &, const Node &) const throw () |
| Just for completeness -- may query CommunicationModel! | |
| virtual bool | can_communicate_uni (const Node &u, const Node &v) const throw () |
| virtual bool | are_adjacent (const Node &u, const Node &v, CommunicationDirection d=CD_BIDI) const throw () |
methods inherited from World::NodeChangeListener | |
| virtual void | node_added (Node &)=0 throw () |
| Is called whenever a node gets added to the world. | |
| virtual void | node_removed (Node &)=0 throw () |
| Is called whenever a node gets removed from the world. | |
| virtual void | id_changed (int, int) throw () |
| virtual bool | invalidate (void) throw () |
| Is called when the world gets deleted. | |
Classes | |
| class | AbstractAdjacencyIterator |
| class | AbstractIteratorHelper |
| shawn::EdgeModel::EdgeModel | ( | ) |
| virtual shawn::EdgeModel::~EdgeModel | ( | ) | [virtual] |
| virtual void shawn::EdgeModel::set_world | ( | World & | ) | throw () [virtual] |
Reimplemented in shawn::FastListEdgeModel, and shawn::ListEdgeModel.
| virtual void shawn::EdgeModel::set_communication_model | ( | const CommunicationModel & | ) | throw () [virtual] |
Reimplemented in shawn::FastListEdgeModel.
| World& shawn::EdgeModel::world_w | ( | void | ) | throw () |
| const World& shawn::EdgeModel::world | ( | void | ) | const throw () |
| const CommunicationModel& shawn::EdgeModel::communication_model | ( | void | ) | const throw () |
| virtual void shawn::EdgeModel::init | ( | void | ) | throw () [virtual] |
Reimplemented in shawn::FastListEdgeModel.
| virtual bool shawn::EdgeModel::supports_mobility | ( | void | ) | const throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.
| virtual int shawn::EdgeModel::nof_adjacent_nodes | ( | const Node & | , | |
| CommunicationDirection | d = CD_BIDI | |||
| ) | const throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.
| virtual const_adjacency_iterator shawn::EdgeModel::begin_adjacent_nodes | ( | const Node & | , | |
| CommunicationDirection | d = CD_BIDI | |||
| ) | const throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

| virtual const_adjacency_iterator shawn::EdgeModel::end_adjacent_nodes | ( | const Node & | ) | const throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

| virtual adjacency_iterator shawn::EdgeModel::begin_adjacent_nodes_w | ( | Node & | , | |
| CommunicationDirection | d = CD_BIDI | |||
| ) | throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

| virtual adjacency_iterator shawn::EdgeModel::end_adjacent_nodes_w | ( | Node & | ) | throw () [pure virtual] |
Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

| virtual bool shawn::EdgeModel::can_communicate_bidi | ( | const Node & | , | |
| const Node & | ||||
| ) | const throw () [virtual] |
Just for completeness -- may query CommunicationModel!
| virtual bool shawn::EdgeModel::can_communicate_uni | ( | const Node & | u, | |
| const Node & | v | |||
| ) | const throw () [virtual] |
| virtual bool shawn::EdgeModel::are_adjacent | ( | const Node & | u, | |
| const Node & | v, | |||
| CommunicationDirection | d = CD_BIDI | |||
| ) | const throw () [virtual] |
| virtual void shawn::EdgeModel::node_added | ( | Node & | ) | throw () [pure virtual] |
Is called whenever a node gets added to the world.
Implements shawn::NodeChangeListener.
Implemented in shawn::FastListEdgeModel, shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.
| virtual void shawn::EdgeModel::node_removed | ( | Node & | ) | throw () [pure virtual] |
Is called whenever a node gets removed from the world.
Implements shawn::NodeChangeListener.
Implemented in shawn::FastListEdgeModel, shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.
| virtual void shawn::EdgeModel::id_changed | ( | int | , | |
| int | ||||
| ) | throw () [virtual] |
Is called whenever the id of a node has changed. This occurs, for example, if the method reorganize_nodes() of the world is called, because the internal NodeVector is optimized (compressed) there and ids may change.
| int | Old ID | |
| int | New ID |
Implements shawn::NodeChangeListener.
| virtual bool shawn::EdgeModel::invalidate | ( | void | ) | throw () [virtual] |
Is called when the world gets deleted.
Implements shawn::NodeChangeListener.
1.5.6