1 #ifndef ORG_EEROS_CONTROL_SIGNAL_HPP_ 2 #define ORG_EEROS_CONTROL_SIGNAL_HPP_ 16 template <
typename T =
double >
57 template <
typename VT >
94 std::list<SignalInterface*>::iterator i = signalList.begin();
95 while(i != signalList.end()) {
96 if((*i)->getId() ==
id) {
111 template <
typename S>
typename std::enable_if<std::is_integral<S>::value>::type _clear() {
112 value = std::numeric_limits<int32_t>::min();
114 template <
typename S>
typename std::enable_if<std::is_floating_point<S>::value>::type _clear() {
115 value = std::numeric_limits<double>::quiet_NaN();
117 template <
typename S>
typename std::enable_if<!std::is_arithmetic<S>::value && std::is_integral<typename S::value_type>::value>::type _clear() {
118 value.fill(std::numeric_limits<int32_t>::min());
120 template <
typename S>
typename std::enable_if< !std::is_arithmetic<S>::value && std::is_floating_point<typename S::value_type>::value>::type _clear() {
121 value.fill(std::numeric_limits<double>::quiet_NaN());
124 static std::list<SignalInterface*> signalList;
128 template <
typename T>
131 template <
typename T>
135 template <
typename T>
136 std::ostream& operator<<(std::ostream& os, Signal<T>& signal) {
137 os <<
"Signal: '" << signal.
getName() <<
"' timestamp = " << signal.getTimestamp() <<
" value = " << signal.getValue();
139 template <
typename T>
140 std::ostream& operator<<(std::ostream& os, Signal<T>* signal) {
141 os <<
"Signal: '" << signal.getName() <<
"' timestamp = " << signal.getTimestamp() <<
" value = " << signal.getValue();
virtual void clear()
Definition: Signal.hpp:70
sigid_t id
Definition: Signal.hpp:107
void setValue(VT newValue)
Definition: Signal.hpp:58
virtual T getValue() const
Definition: Signal.hpp:49
virtual sigid_t getId() const
Definition: Signal.hpp:24
virtual std::string getName() const
Definition: Signal.hpp:28
Definition: Config.hpp:14
virtual void setValue(T newValue)
Definition: Signal.hpp:53
virtual void setName(std::string name)
Definition: Signal.hpp:32
T value
Definition: Signal.hpp:105
Signal< T > & operator=(Signal< T > right)
Definition: Signal.hpp:74
virtual void setTimestamp(timestamp_t newTimestamp)
Definition: Signal.hpp:66
std::string name
Definition: Signal.hpp:108
static Signal< T > & getIllegalSignal()
Definition: Signal.hpp:85
timestamp_t timestamp
Definition: Signal.hpp:106
virtual timestamp_t getTimestamp() const
Definition: Signal.hpp:62
static SignalInterface * getSignalById(sigid_t id)
Definition: Signal.hpp:93
Definition: Signal.hpp:17
virtual std::string getLabel() const
Definition: Signal.hpp:36
Signal()
Definition: Signal.hpp:19
uint32_t sigid_t
Definition: types.hpp:9
uint16_t signalCounter
Definition: Signal.cpp:5
static std::list< SignalInterface * > getSignalList()
Definition: Signal.hpp:89
uint64_t timestamp_t
Definition: types.hpp:12
Definition: SignalInterface.hpp:14