shawn::EdgeModel Class Reference

#include <edge_model.h>

Inheritance diagram for shawn::EdgeModel:

Inheritance graph
[legend]
Collaboration diagram for shawn::EdgeModel:

Collaboration graph
[legend]

List of all members.

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 ()
Worldworld_w (void) throw ()
const Worldworld (void) const throw ()
const CommunicationModelcommunication_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


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
CD_IN 
CD_OUT 
CD_BIDI 
CD_ANY 
CD___DO_NOT_USE_COUNT__  Always leave this at the end. Used to count the elements of this enum.


Constructor & Destructor Documentation

shawn::EdgeModel::EdgeModel (  ) 

virtual shawn::EdgeModel::~EdgeModel (  )  [virtual]


Member Function Documentation

virtual void shawn::EdgeModel::set_world ( World  )  throw () [virtual]

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]

virtual int shawn::EdgeModel::nof_adjacent_nodes ( const Node ,
CommunicationDirection  d = CD_BIDI 
) const throw () [pure virtual]

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.

Here is the caller graph for this function:

virtual const_adjacency_iterator shawn::EdgeModel::end_adjacent_nodes ( const Node  )  const throw () [pure virtual]

Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

virtual adjacency_iterator shawn::EdgeModel::end_adjacent_nodes_w ( Node  )  throw () [pure virtual]

Implemented in shawn::GridEdgeModel, shawn::LazyEdgeModel, and shawn::ListEdgeModel.

Here is the caller graph for this function:

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.

Parameters:
int Old ID
int New ID

Implements shawn::NodeChangeListener.

virtual bool shawn::EdgeModel::invalidate ( void   )  throw () [virtual]

Is called when the world gets deleted.

Returns:
true, if the world should delete the listener

Implements shawn::NodeChangeListener.


The documentation for this class was generated from the following file:

Generated on Sun Feb 5 00:00:50 2012 for Shawn by  doxygen 1.5.6