Hurricane VLSI Database


Tabulation.h
1 // ****************************************************************************************************
2 // File: ./hurricane/Tabulation.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 #pragma once
21 #ifndef HURRICANE_COMMONS_H
22 #error "Tabulation.h must be included through Commons.h"
23 #endif
24 
25 namespace Hurricane {
26 
27 
28 
29 // ****************************************************************************************************
30 // Tabulation declaration
31 // ****************************************************************************************************
32 
33 class Tabulation {
34 // *************
35 
36 // Attributes
37 // **********
38 
39  private: string _s;
40  private: unsigned _n;
41 
42 // Constructors
43 // ************
44 
45  public: Tabulation(const string& s = " ");
46 
47  public: Tabulation(const Tabulation& tabulation);
48 
49 // Destructor
50 // **********
51 
52  public: ~Tabulation();
53 
54 // Operators
55 // *********
56 
57  public: Tabulation& operator=(const Tabulation& tabulation);
58 
59  public: Tabulation& operator++();
60  public: Tabulation operator++(int);
61  public: Tabulation& operator--();
62  public: Tabulation operator--(int);
63 
64 // Others
65 // ******
66 
67  public: unsigned getWidth() const { return _s.size()*_n; };
68  public: string _getTypeName() const { return _TName("Tabulation"); };
69  public: string _getString() const;
70  public: Record* _getRecord() const { return NULL; };
71  public: Slot* _getSlot() const { return NULL; };
72 
73 };
74 
75 
76 
77 // ****************************************************************************************************
78 // Variables
79 // ****************************************************************************************************
80 
81 extern Tabulation tab;
82 
83 
84 
85 } // End of Hurricane namespace.
86 
87 
88 inline std::string getString ( Hurricane::Tabulation& data )
89 { return data._getString(); }
90 
91 inline std::string getString ( const Hurricane::Tabulation& data )
92 { return data._getString(); }
93 
94 inline std::string getString ( Hurricane::Tabulation* data )
95 { if (!data) return "NULL [Tabulation]"; return data->_getString(); }
96 
97 inline std::string getString ( const Hurricane::Tabulation* data )
98 { if (!data) return "NULL [const Tabulation]"; return data->_getString(); }
99 
100 inline std::ostream& operator<< ( std::ostream& o, Hurricane::Tabulation* d )
101 {
102  if (!d) return o << "NULL [Tabulation]";
103  return o << "&" << d->_getString();
104 }
105 
106 inline std::ostream& operator<< ( std::ostream& o, const Hurricane::Tabulation* d )
107 {
108  if (!d) return o << "NULL [const Tabulation]";
109  return o << "&" << d->_getString();
110 }
111 
112 inline std::ostream& operator<< ( std::ostream& o, Hurricane::Tabulation& d )
113 { return o << d._getString(); }
114 
115 inline std::ostream& operator<< ( std::ostream& o, const Hurricane::Tabulation& d )
116 { return o << d._getString(); }
117 
118 inline Hurricane::Record* getRecord ( Hurricane::Tabulation* data )
119 { if (!data) return NULL; return data->_getRecord(); }
120 
121 inline Hurricane::Record* getRecord ( const Hurricane::Tabulation* data )
122 { if (!data) return NULL; return data->_getRecord(); }
123 
124 
125 
126 //INSPECTOR_PR_SUPPORT(Hurricane::Tabulation);
127 
128 
129 
130 // ****************************************************************************************************
131 // Generic functions
132 // ****************************************************************************************************
133 
134 
135 // ****************************************************************************************************
136 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
137 // ****************************************************************************************************
Tabulation description (API)
Definition: Tabulation.h:33
Tabulation & operator=(const Tabulation &tabulation)
Tabulation(const string &s=" ")
Tabulation(const Tabulation &tabulation)
Tabulation operator--(int)
Tabulation & operator++()
Tabulation operator++(int)
Tabulation & operator--()
Contains Almost Everything.
Definition: BasicLayer.h:39


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