20 #ifndef TRACED_VALUE_H
21 #define TRACED_VALUE_H
30 #define TRACED_VALUE_DEBUG(x)
92 void Set (
const T &v) {
137 template <
typename T>
138 std::ostream& operator << (std::ostream& os, const TracedValue<T>& rhs)
140 return os<<rhs.Get ();
143 template <
typename T,
typename U>
147 return lhs.
Get () == rhs.
Get ();
149 template <
typename T,
typename U>
153 return lhs.
Get () == rhs;
155 template <
typename T,
typename U>
159 return lhs == rhs.
Get ();
162 template <
typename T,
typename U>
166 return lhs.
Get () != rhs.
Get ();
168 template <
typename T,
typename U>
172 return lhs.
Get () != rhs;
174 template <
typename T,
typename U>
178 return lhs != rhs.
Get ();
181 template <
typename T,
typename U>
185 return lhs.Get () <= rhs.Get ();
187 template <
typename T,
typename U>
188 bool operator <= (const TracedValue<T> &lhs,
const U &rhs)
191 return lhs.Get () <= rhs;
193 template <
typename T,
typename U>
194 bool operator <= (const U &lhs, const TracedValue<T> &rhs)
197 return lhs <= rhs.Get ();
199 template <
typename T,
typename U>
203 return lhs.
Get () >= rhs.
Get ();
205 template <
typename T,
typename U>
209 return lhs.
Get () >= rhs;
211 template <
typename T,
typename U>
215 return lhs >= rhs.
Get ();
218 template <
typename T,
typename U>
222 return lhs.Get () < rhs.Get ();
224 template <
typename T,
typename U>
225 bool operator < (const TracedValue<T> &lhs,
const U &rhs)
228 return lhs.Get () < rhs;
230 template <
typename T,
typename U>
231 bool operator < (const U &lhs, const TracedValue<T> &rhs)
234 return lhs < rhs.Get ();
236 template <
typename T,
typename U>
240 return lhs.
Get () > rhs.
Get ();
242 template <
typename T,
typename U>
246 return lhs.
Get () > rhs;
248 template <
typename T,
typename U>
252 return lhs > rhs.
Get ();
254 template <
typename T,
typename U>
262 template <
typename T,
typename U>
270 template <
typename T,
typename U>
278 template <
typename T,
typename U>
286 template <
typename T,
typename U>
294 template <
typename T,
typename U>
302 template <
typename T,
typename U>
310 template <
typename T,
typename U>
318 template <
typename T,
typename U>
326 template <
typename T,
typename U>
334 template <
typename T,
typename U>
339 template <
typename T,
typename U>
344 template <
typename T,
typename U>
350 template <
typename T,
typename U>
355 template <
typename T,
typename U>
360 template <
typename T,
typename U>
366 template <
typename T,
typename U>
371 template <
typename T,
typename U>
376 template <
typename T,
typename U>
382 template <
typename T,
typename U>
387 template <
typename T,
typename U>
392 template <
typename T,
typename U>
398 template <
typename T,
typename U>
403 template <
typename T,
typename U>
408 template <
typename T,
typename U>
414 template <
typename T,
typename U>
419 template <
typename T,
typename U>
424 template <
typename T,
typename U>
430 template <
typename T,
typename U>
435 template <
typename T,
typename U>
440 template <
typename T,
typename U>
446 template <
typename T,
typename U>
451 template <
typename T,
typename U>
456 template <
typename T,
typename U>
462 template <
typename T,
typename U>
467 template <
typename T,
typename U>
472 template <
typename T,
typename U>
478 template <
typename T,
typename U>
483 template <
typename T,
typename U>
488 template <
typename T,
typename U>
495 template <
typename T>
500 template <
typename T>
505 template <
typename T>
510 template <
typename T>
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
TracedValue< T > & operator%=(TracedValue< T > &lhs, const U &rhs)
int64x64_t operator+(const int64x64_t &lhs)
Unary plus operator.
int64x64_t & operator/=(int64x64_t &lhs, const int64x64_t &rhs)
Compound division operator.
TracedValue & operator=(const TracedValue &o)
int64x64_t operator-(const int64x64_t &lhs)
Unary negation operator (change sign operator)
TracedValue< T > operator~(const TracedValue< T > &lhs)
Base class for Callback class.
void Disconnect(const CallbackBase &cb, std::string path)
int64x64_t & operator+=(int64x64_t &lhs, const int64x64_t &rhs)
Compound addition operator.
trace classes with value semantics
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator.
TracedValue(const TracedValue< U > &other)
TracedValue< T > & operator&=(TracedValue< T > &lhs, const U &rhs)
void ConnectWithoutContext(const CallbackBase &cb)
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator.
void Connect(const CallbackBase &cb, std::string path)
void DisconnectWithoutContext(const CallbackBase &callback)
TracedValue & operator--()
TracedValue< T > & operator^=(TracedValue< T > &lhs, const U &rhs)
void Disconnect(const CallbackBase &callback, std::string path)
TracedValue< T > & operator|=(TracedValue< T > &lhs, const U &rhs)
TracedValue(const U &other)
int64x64_t operator/(const int64x64_t &lhs, const int64x64_t &rhs)
Division operator.
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test.
int64x64_t & operator*=(int64x64_t &lhs, const int64x64_t &rhs)
Compound multiplication operator.
TracedValue< T > & operator>>=(TracedValue< T > &lhs, const U &rhs)
TracedValue< T > operator&(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
void Connect(const CallbackBase &callback, std::string path)
TracedValue(const TracedValue &o)
void ConnectWithoutContext(const CallbackBase &callback)
bool operator>(const int64x64_t &lhs, const int64x64_t &rhs)
Greater operator.
bool operator==(const EventId &a, const EventId &b)
TracedValue< T > operator^(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
void DisconnectWithoutContext(const CallbackBase &cb)
#define TRACED_VALUE_DEBUG(x)
TracedValue< T > operator|(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
TracedValue & operator++()
TracedValue< T > operator%(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
TracedCallback< T, T > m_cb
int64x64_t operator!(const int64x64_t &lhs)
Logical not operator.
int64x64_t & operator-=(int64x64_t &lhs, const int64x64_t &rhs)
Compound subtraction operator.