# Kite - Detailed Router

Public Member Functions | List of all members
RoutingEventHistory Class Reference

History of RoutingEvent. More...

## Public Member Functions

| RoutingEventHistory ()
| ~RoutingEventHistory ()
bool | empty () const
size_t | size () const
RoutingEvent * | getNth (size_t) const
RoutingEvent * | getRNth (size_t) const
void | push (RoutingEvent *)
void | clear ()

## Detailed Description

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.

## Constructor & Destructor Documentation

## ◆ RoutingEventHistory()

RoutingEventHistory | ( |  | ) |

Construct an empty RoutingEventHistory.

## ◆ ~RoutingEventHistory()

~RoutingEventHistory | ( |  | ) |

Delete a RoutingEventHistory.

Remark: The deletion of this object triggers the deletion of
  all the RoutingEvent that are referenced in it.

## Member Function Documentation

## ◆ empty()

bool empty | ( |  | ) | const

inline

Returns: true if the history is empty.

## ◆ size()

size_t size | ( |  | ) | const

inline

Returns: the number of events in the history.

Referenced by RoutingEventHistory::getNth(), and RoutingEventHistory::getRNth().

## ◆ getNth()

RoutingEvent * getNth | ( | size_t | pos | ) | const

Returns: The event at index `pos` from the beginning of the history (`NULL` if `pos` exeed the size).

## ◆ getRNth()

RoutingEvent * getRNth | ( | size_t | pos | ) | const

Returns: The event at index `pos` from the end of the history (`NULL` if `pos` exeed the size).

Referenced by SegmentFsm::conflictSolveByHistory().

## ◆ push()

void push | ( | RoutingEvent * | event | ) |

Push a new RoutingEvent in the history.

Referenced by RoutingEvent::process().

## ◆ clear()

void clear | ( |  | ) |

Clear the history, also remove the RoutingEvent that are pointed to.

Referenced by RoutingEventHistory::~RoutingEventHistory().

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

- RoutingEventHistory.h
- RoutingEventHistory.cpp
- RoutingEventHistory.dox