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 // ****************************************************************************************************
Box description (API)
Definition: Box.h:31
The model (API).
Definition: Cell.h:64
Generic Collection auto-pointer.
Definition: Collection.h:235
HyperNet description (API)
Definition: HyperNet.h:33
Occurrences getNetOccurrences(bool doExtraction=false, bool allowInterruption=false) const
HyperNet(const Occurrence &occurrence)
const Occurrence & getNetOccurrence() const
Definition: HyperNet.h:55
Cell * getCell() const
Definition: HyperNet.h:56
Occurrences getNetOccurrencesUnder(Box area, bool doExtraction=false, bool allowInterruption=false) const
Occurrence description (API)
Definition: Occurrence.h:39
bool isValid() const
Definition: Occurrence.h:81
Cell * getOwnerCell() const
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5


Generated by doxygen 1.9.1 on Thu Aug 11 2022 Return to top of page
Hurricane VLSI Database Copyright © 2000-2020 Bull S.A. All rights reserved