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
25namespace Hurricane {
26
27
28
29// ****************************************************************************************************
30// HyperNet declaration
31// ****************************************************************************************************
32
33class 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
77Occurrence getHyperNetRootNetOccurrence(const Occurrence& netoccurrence);
78
79bool isHyperNetRootNetOccurrence(Occurrence netoccurrence);
80
81
82
83} // End of Hurricane namespace.
84
85
86INSPECTOR_P_SUPPORT(Hurricane::HyperNet);
87IOSTREAM_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:30
The model (API).
Definition Cell.h:64
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
Contains Almost Everything.
Definition BasicLayer.h:39
GenericCollection< Occurrence > Occurrences
Definition Occurrences.h:42


Generated by doxygen 1.13.2 on Fri Sep 27 2024 Return to top of page
Hurricane VLSI Database Copyright © 2000-2020 Bull S.A. All rights reserved