# Hurricane Documentation

# Hurricane VLSI Database

HyperNet.h
1 // ****************************************************************************************************
2 // File: ./hurricane/HyperNet.h
3 // Authors: R. Escassut
4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
5 //
6 // This file is part of Hurricane.
7 //
8 // Hurricane is free software: you can redistribute it and/or modify it under the terms of the GNU
9 // Lesser General Public License as published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
11 //
12 // Hurricane is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
13 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
14 // General Public License for more details.
15 //
16 // You should have received a copy of the Lesser GNU General Public License along with Hurricane. If
17 // not, see <http://www.gnu.org/licenses/>.
18 // ****************************************************************************************************
19
20 #ifndef HURRICANE_HYPER_NET
21 #define HURRICANE_HYPER_NET
22
23 #include "hurricane/Occurrences.h"
24
25 namespace Hurricane {
26
27
28
29 // ****************************************************************************************************
30 // HyperNet declaration
31 // ****************************************************************************************************
32
33 class HyperNet {
34 // ***********
35
36 // Attributes
37 // **********
38
39 private: Occurrence _netOccurrence;
40
41 // Constructors
42 // ************
43
44 public: HyperNet(const Occurrence& occurrence);
45 public: HyperNet(const HyperNet& hyperNet);
46
47 // Operators
48 // *********
49
50 private: HyperNet& operator=(const HyperNet& hyperNet); // not implemented to forbid assignment
51
52 // Accessors
53 // *********
54
55 public: const Occurrence& getNetOccurrence() const {return _netOccurrence;};
56 public: Cell* getCell() const {return _netOccurrence.getOwnerCell();};
57 public: Occurrences getNetOccurrences(bool doExtraction = false, bool allowInterruption = false) const;
58 public: Occurrences getNetOccurrencesUnder(Box area, bool doExtraction = false,
59 bool allowInterruption = false) const;
60 public: Occurrences getTerminalNetlistPlugOccurrences(bool doExtraction = false , bool allowInterruption = false) const;
61 public: Occurrences getComponentOccurrences(bool doExtraction = false , bool allowInterruption = false) const;
62
63 // Predicates
64 // **********
65
66 public: bool isValid() const {return _netOccurrence.isValid();};
67
68 // Others
69 // ******
70
71 public: string _getTypeName() const { return _TName("HyperNet"); };
72 public: string _getString() const;
73 public: Record* _getRecord() const;
74
75 };
76
77 Occurrence getHyperNetRootNetOccurrence(const Occurrence& netoccurrence);
78
79 bool isHyperNetRootNetOccurrence(Occurrence netoccurrence);
80
81
82
83 } // End of Hurricane namespace.
84
85
86 INSPECTOR_P_SUPPORT(Hurricane::HyperNet);
87 IOSTREAM_VALUE_SUPPORT(Hurricane::HyperNet);
88
89
90
91
92 // ****************************************************************************************************
93 // Generic functions
94 // ****************************************************************************************************
95
96 #endif // HURRICANE_HYPER_NET
97
98
99 // ****************************************************************************************************
100 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
101 // ****************************************************************************************************
Hurricane::Occurrence
Occurrence description (API)
Definition: Occurrence.h:39
Hurricane::Occurrence::isValid
bool isValid() const
Definition: Occurrence.h:81
Hurricane::HyperNet::getNetOccurrencesUnder
Occurrences getNetOccurrencesUnder(Box area, bool doExtraction=false, bool allowInterruption=false) const
Hurricane::HyperNet::getCell
Cell * getCell() const
Definition: HyperNet.h:56
Hurricane::HyperNet::HyperNet
HyperNet(const Occurrence &occurrence)
Hurricane::HyperNet::getNetOccurrence
const Occurrence & getNetOccurrence() const
Definition: HyperNet.h:55
Hurricane::Cell
The model (API).
Definition: Cell.h:66
Hurricane::GenericCollection
Generic Collection auto-pointer.
Definition: Collection.h:28
Hurricane::Occurrence::getOwnerCell
Cell * getOwnerCell() const
Hurricane::Box
Box description (API)
Definition: Box.h:31
Hurricane::HyperNet::getNetOccurrences
Occurrences getNetOccurrences(bool doExtraction=false, bool allowInterruption=false) const
Hurricane
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5
Hurricane::HyperNet
HyperNet description (API)
Definition: HyperNet.h:33