torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PortAttributes.hpp
Go to the documentation of this file.
1 // Torc - Copyright 2011-2013 University of Southern California. All Rights Reserved.
2 // $HeadURL$
3 // $Id$
4 
5 // This program is free software: you can redistribute it and/or modify it under the terms of the
6 // GNU General Public License as published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
11 // the GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License along with this program. If
14 // not, see <http://www.gnu.org/licenses/>.
15 
16 #ifndef TORC_GENERIC_PORTATTRIBUTES_HPP
17 #define TORC_GENERIC_PORTATTRIBUTES_HPP
18 
19 #ifdef GENOM_SERIALIZATION
20 #include <boost/serialization/access.hpp>
21 #endif //GENOM_SERIALIZATION
23 #include "torc/generic/Value.hpp"
24 
25 namespace torc {
26 namespace generic {
27 
28 /**
29  * @brief Represents attributes of a Port or PortReference object
30  *
31  * The PortAttributes class stores some optional attributes of a Port or overridden values in a
32  * PortReference object. The values can be set from an EDIF file using the (port ...),
33  * (portBackAnnotate ...) or the (portInstance ...) constructs. The main logic of bringing this out
34  * of the Port/PortReference objects is to save space.
35  */
37 #ifdef GENOM_SERIALIZATION
38  friend class boost::serialization::access;
39 #endif //GENOM_SERIALIZATION
40 public:
41  inline const Value getUnused() const;
42 
43  void setUnused(const Value& inSource);
44 
45  inline const Value getDesignator() const;
46 
47  void setDesignator(const Value& inSource);
48 
49  inline const Value getAcLoad() const;
50 
51  void setAcLoad(const Value& inSource);
52 
53  inline const PortDelay getPortDelay() const;
54 
55  inline const bool getIsPortDelaySet() const;
56 
57  void setPortDelay(const PortDelay& inSource);
58 
59  inline const Value getDcFaninLoad() const;
60 
61  void setDcFaninLoad(const Value& inSource);
62 
63  inline const Value getDcFanoutLoad() const;
64 
65  void setDcFanoutLoad(const Value& inSource);
66 
67  inline const Value getDcMaxFanin() const;
68 
69  void setDcMaxFanin(const Value& inSource);
70 
71  inline const Value getDcMaxFanout() const;
72 
73  void setDcMaxFanout(const Value& inSource);
74 
76 
77  ~PortAttributes() throw ();
78 
79  PortAttributes(const PortAttributes& inSource);
80 
81  PortAttributes& operator=(const PortAttributes& inSource);
82 
83 private:
84 #ifdef GENOM_SERIALIZATION
85  template <class Archive> void serialize(Archive& ar, unsigned int);
86 #endif //GENOM_SERIALIZATION
96 };
97 
98 inline const Value PortAttributes::getUnused() const {
99  return mUnused;
100 }
101 
102 inline const Value PortAttributes::getDesignator() const {
103  return mDesignator;
104 }
105 
106 inline const Value PortAttributes::getAcLoad() const {
107  return mAcLoad;
108 }
109 
111  return mPortDelay;
112 }
113 
114 inline const bool PortAttributes::getIsPortDelaySet() const {
115  return mPortDelaySet;
116 }
117 
118 inline const Value PortAttributes::getDcFaninLoad() const {
119  return mDcFaninLoad;
120 }
121 
123  return mDcFanoutLoad;
124 }
125 
126 inline const Value PortAttributes::getDcMaxFanin() const {
127  return mDcMaxFanin;
128 }
129 
130 inline const Value PortAttributes::getDcMaxFanout() const {
131  return mDcMaxFanout;
132 }
133 
134 } // namespace generic
135 } // namespace torc
136 
137 #endif // TORC_GENERIC_PORTATTRIBUTES_HPP
const PortDelay getPortDelay() const
Represents attributes of a Port or PortReference object.
const Value getAcLoad() const
PortAttributes & operator=(const PortAttributes &inSource)
const Value getDesignator() const
const Value getDcFanoutLoad() const
Represents the portDelay attribute on Port or PortReference.
Definition: PortDelay.hpp:36
void setUnused(const Value &inSource)
void setDcFaninLoad(const Value &inSource)
const Value getDcFaninLoad() const
void setAcLoad(const Value &inSource)
const Value getDcMaxFanin() const
void setDesignator(const Value &inSource)
void setDcMaxFanout(const Value &inSource)
const Value getUnused() const
void setPortDelay(const PortDelay &inSource)
const Value getDcMaxFanout() const
void setDcFanoutLoad(const Value &inSource)
void setDcMaxFanin(const Value &inSource)
const bool getIsPortDelaySet() const