torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NetDelay.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_NETDELAY_HPP
17 #define TORC_GENERIC_NETDELAY_HPP
18 
21 #include "torc/generic/Value.hpp"
22 
23 namespace torc {
24 namespace generic {
25 
26 /**
27  * @brief Represents the netDelay attribute of Net
28  *
29  * The NetDelay class stores the delay value and its derivation
30  * for the given set of transitions.
31  */
32 class NetDelay {
33 public:
34  /**
35  * Get derivation
36  *
37  * @return Derivation value
38  */
39  inline const Derivation getDerivation() const;
40 
41  /**
42  * Set derivation
43  *
44  * @param[in] value Derivation value
45  */
46  void setDerivation(const Derivation& value);
47 
48  /**
49  * Get delay value
50  *
51  * @return Value containing Value::MiNoMax
52  */
53  inline const Value::MiNoMax getDelay() const;
54 
55  /**
56  * Set delay value
57  *
58  * @param[in] value Delay value. Must be Value::MiNoMax
59  */
60  void setDelay(const Value::MiNoMax& value);
61 
62  /**
63  * Get the pointer to logic state value(transition/becomes).
64  *
65  * @return Pointer to logic state value(transition/becomes).
66  */
67  inline const LogicElementSharedPtr getTransition() const;
68 
69  /**
70  * Set the pointer to logic state value(transition/becomes).
71  *
72  * @param[in] inSource Pointer to logic state value(transition/becomes).
73  */
74  void setTransition(const LogicElementSharedPtr& inSource);
75 
76  NetDelay();
77 
78  ~NetDelay() throw ();
79 
80  NetDelay(const NetDelay& source);
81 
82  NetDelay& operator=(const NetDelay& source);
83 
84 private:
88 
89 };
90 /**
91  * Get derivation
92  *
93  * @return Derivation value
94  */
95 inline const Derivation NetDelay::getDerivation() const {
96  return mDerivation;
97 }
98 
99 /**
100  * Get delay value
101  *
102  * @return Value containing Value::MiNoMax
103  */
104 inline const Value::MiNoMax NetDelay::getDelay() const {
105  return mDelay;
106 }
107 
108 /**
109  * Get the pointer to logic state value(transition/becomes).
110  *
111  * @return Pointer to logic state value(transition/becomes).
112  */
114  return mTransition;
115 }
116 
117 } // namespace generic
118 } // namespace torc
119 
120 #endif // TORC_GENERIC_NETDELAY_HPP
Value::MiNoMax mDelay
Definition: NetDelay.hpp:86
LogicElementSharedPtr mTransition
Definition: NetDelay.hpp:87
boost::shared_ptr< LogicElement > LogicElementSharedPtr
const LogicElementSharedPtr getTransition() const
Definition: NetDelay.hpp:113
Represents the netDelay attribute of Net.
Definition: NetDelay.hpp:32
void setDerivation(const Derivation &value)
Definition: NetDelay.cpp:26
NetDelay & operator=(const NetDelay &source)
Definition: NetDelay.cpp:55
Derivation mDerivation
Definition: NetDelay.hpp:85
void setDelay(const Value::MiNoMax &value)
Definition: NetDelay.cpp:35
void setTransition(const LogicElementSharedPtr &inSource)
Definition: NetDelay.cpp:44
const Value::MiNoMax getDelay() const
Definition: NetDelay.hpp:104
const Derivation getDerivation() const
Definition: NetDelay.hpp:95