// -*- C++ -*- namespace Kite { /*! \class RoutingEventHistory * \brief History of RoutingEvent. * * An history of all the routing events. We can afford to keep an * history because while one event is a relatively big object, there * is not that much of them (their number is roughly proportional * to the number of TrackSegments). * * One event is likely to appear more than one time in the history, * in fact it will apprears each time it is ripped up. * * Lastly, it is a way to keep track of all the allocated RoutingEvents. * When history is deleted it will deleted all the events that it * knows of. */ //! \function RoutingEventHistory::RoutingEventHistory (); //! Construct an empty RoutingEventHistory. //! \function RoutingEventHistory::~RoutingEventHistory (); //! Delete a RoutingEventHistory. //! //! \remark The deletion of this object triggers the deletion of //! all the RoutingEvent that are referenced in it. //! \function bool RoutingEventHistory::empty () const; //! \sreturn \true if the history is empty. //! \function size_t RoutingEventHistory::size () const; //! \sreturn the number of events in the history. //! \function RoutingEvent* RoutingEventHistory::getNth ( size_t pos ) const; //! \sreturn The event at index \c pos from the beginning of the history //! (\c NULL if \c pos exeed the size). //! \function RoutingEvent* RoutingEventHistory::getRNth ( size_t pos ) const; //! \sreturn The event at index \c pos from the end of the history //! (\c NULL if \c pos exeed the size). //! \function void RoutingEventHistory::push ( RoutingEvent* event ); //! Push a new RoutingEvent in the history. //! \function void RoutingEventHistory::clear (); //! Clear the history, also remove the RoutingEvent that are pointed to. }