# Kite - Detailed Router

RoutingEventHistory.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | K i t e - D e t a i l e d R o u t e r |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./kite/RoutingEventHistory.h" |
14 // +-----------------------------------------------------------------+
15
16
17 #ifndef KITE_ROUTING_EVENT_HISTORY_H
18 #define KITE_ROUTING_EVENT_HISTORY_H
19
20 #include <iostream>
21 #include <vector>
22
23
24 namespace Kite {
25
26 using std::vector;
27 using std::ostream;
28
29 class RoutingEvent;
30
31
32 // -------------------------------------------------------------------
33 // Class : "RoutingEventHistory".
34
35 class RoutingEventHistory {
36
37 public:
38 RoutingEventHistory ();
39 ~RoutingEventHistory ();
40 inline bool empty () const;
41 inline size_t size () const;
42 RoutingEvent* getNth ( size_t ) const;
43 RoutingEvent* getRNth ( size_t ) const;
44 void push ( RoutingEvent* );
45 void clear ();
46 void dump ( ostream&, size_t depth=10 ) const;
47 Record* _getRecord () const;
48 string _getString () const;
49 inline string _getTypeName () const;
50
51 protected:
52 // Attributes.
53 vector<RoutingEvent*> _events;
54
55 private:
56 RoutingEventHistory& operator= ( const RoutingEventHistory& );
57 RoutingEventHistory ( const RoutingEventHistory& );
58
59 };
60
61
62 // Inline Functions.
63 inline bool RoutingEventHistory::empty () const { return _events.empty(); }
64 inline size_t RoutingEventHistory::size () const { return _events.size(); }
65 inline string RoutingEventHistory::_getTypeName () const { return "RoutingEventHistory"; }
66
67
68 } // Kite namespace.
69
70
71 #endif // KITE_ROUTING_EVENT_HISTORY_H
Kite::RoutingEvent
Atomic Placement Request for a TrackSegment.
Definition: RoutingEvent.h:55
Kite::RoutingEventHistory::RoutingEventHistory
RoutingEventHistory()
Definition: RoutingEventHistory.cpp:36
Kite::RoutingEventHistory::clear
void clear()
Definition: RoutingEventHistory.cpp:77
Kite::RoutingEventHistory::empty
bool empty() const
Definition: RoutingEventHistory.h:63
Kite::RoutingEventHistory
History of RoutingEvent.
Definition: RoutingEventHistory.h:35
Kite::RoutingEventHistory::~RoutingEventHistory
~RoutingEventHistory()
Definition: RoutingEventHistory.cpp:41
Kite::RoutingEventHistory::getRNth
RoutingEvent * getRNth(size_t) const
Definition: RoutingEventHistory.cpp:52
Kite::RoutingEventHistory::push
void push(RoutingEvent *)
Definition: RoutingEventHistory.cpp:73
Kite::RoutingEventHistory::size
size_t size() const
Definition: RoutingEventHistory.h:64
Kite::RoutingEventHistory::getNth
RoutingEvent * getNth(size_t) const
Definition: RoutingEventHistory.cpp:45
Kite
The namespace dedicated to Kite.
Definition: Constants.h:22