20 #ifndef TRACED_VALUE_H 
   21 #define TRACED_VALUE_H 
   48 #define TRACED_VALUE_DEBUG(x) 
   70 namespace TracedValueCallback {
 
   82   typedef void (* 
Bool)  (
bool     oldValue, 
bool     newValue);
 
   83   typedef void (* 
Int8)  (int8_t   oldValue, int8_t   newValue);
 
   84   typedef void (* 
Uint8) (uint8_t  oldValue, uint8_t  newValue);
 
   85   typedef void (* 
Int16) (int16_t  oldValue, int16_t  newValue);
 
   86   typedef void (* 
Uint16)(uint16_t oldValue, uint16_t newValue);
 
   87   typedef void (* 
Int32) (int32_t  oldValue, int32_t  newValue);
 
   88   typedef void (* 
Uint32)(uint32_t oldValue, uint32_t newValue);
 
   89   typedef void (* 
Double)(
double   oldValue, 
double   newValue);
 
  109 template <
typename T>
 
  132   operator T ()
 const {
 
  150   template <
typename U>
 
  159   template <
typename U>
 
  285 template <
typename T>
 
  286 std::ostream& operator << (std::ostream& os, const TracedValue<T>& rhs)
 
  288   return os<<rhs.Get ();
 
  299 template <
typename T, 
typename U>
 
  303   return lhs.
Get () == rhs.
Get ();
 
  306 template <
typename T, 
typename U>
 
  310   return lhs.
Get () == rhs;
 
  313 template <
typename T, 
typename U>
 
  317   return lhs == rhs.
Get ();
 
  321 template <
typename T, 
typename U>
 
  325   return lhs.
Get () != rhs.
Get ();
 
  328 template <
typename T, 
typename U>
 
  332   return lhs.
Get () != rhs;
 
  335 template <
typename T, 
typename U>
 
  339   return lhs != rhs.
Get ();
 
  343 template <
typename T, 
typename U>
 
  347   return lhs.Get () <= rhs.Get ();
 
  350 template <
typename T, 
typename U>
 
  351 bool operator <= (const TracedValue<T> &lhs, 
const U &rhs)
 
  354   return lhs.Get () <= rhs;
 
  357 template <
typename T, 
typename U>
 
  358 bool operator <= (const U &lhs, const TracedValue<T> &rhs)
 
  361   return lhs <= rhs.Get ();
 
  364 template <
typename T, 
typename U>
 
  368   return lhs.
Get () >= rhs.
Get ();
 
  371 template <
typename T, 
typename U>
 
  375   return lhs.
Get () >= rhs;
 
  378 template <
typename T, 
typename U>
 
  382   return lhs >= rhs.
Get ();
 
  386 template <
typename T, 
typename U>
 
  390   return lhs.Get () < rhs.Get ();
 
  393 template <
typename T, 
typename U>
 
  394 bool operator < (const TracedValue<T> &lhs, 
const U &rhs)
 
  397   return lhs.Get () < rhs;
 
  400 template <
typename T, 
typename U>
 
  401 bool operator < (const U &lhs, const TracedValue<T> &rhs)
 
  404   return lhs < rhs.Get ();
 
  407 template <
typename T, 
typename U>
 
  411   return lhs.
Get () > rhs.
Get ();
 
  414 template <
typename T, 
typename U>
 
  418   return lhs.
Get () > rhs;
 
  421 template <
typename T, 
typename U>
 
  425   return lhs > rhs.
Get ();
 
  442 template <
typename T, 
typename U>
 
  448 template <
typename T, 
typename U>
 
  454 template <
typename T, 
typename U>
 
  461 template <
typename T, 
typename U>
 
  467 template <
typename T, 
typename U>
 
  473 template <
typename T, 
typename U>
 
  480 template <
typename T, 
typename U>
 
  486 template <
typename T, 
typename U>
 
  492 template <
typename T, 
typename U>
 
  499 template <
typename T, 
typename U>
 
  505 template <
typename T, 
typename U>
 
  511 template <
typename T, 
typename U>
 
  518 template <
typename T, 
typename U>
 
  524 template <
typename T, 
typename U>
 
  530 template <
typename T, 
typename U>
 
  537 template <
typename T, 
typename U>
 
  543 template <
typename T, 
typename U>
 
  549 template <
typename T, 
typename U>
 
  556 template <
typename T, 
typename U>
 
  562 template <
typename T, 
typename U>
 
  568 template <
typename T, 
typename U>
 
  575 template <
typename T, 
typename U>
 
  581 template <
typename T, 
typename U>
 
  587 template <
typename T, 
typename U>
 
  594 template <
typename T, 
typename U>
 
  600 template <
typename T, 
typename U>
 
  606 template <
typename T, 
typename U>
 
  613 template <
typename T, 
typename U>
 
  619 template <
typename T, 
typename U>
 
  625 template <
typename T, 
typename U>
 
  645 template <
typename T, 
typename U>
 
  654 template <
typename T, 
typename U>
 
  663 template <
typename T, 
typename U>
 
  672 template <
typename T, 
typename U>
 
  681 template <
typename T, 
typename U>
 
  690 template <
typename T, 
typename U>
 
  699 template <
typename T, 
typename U>
 
  708 template <
typename T, 
typename U>
 
  717 template <
typename T, 
typename U>
 
  726 template <
typename T, 
typename U>
 
  744 template <
typename T>
 
  750 template <
typename T>
 
  756 template <
typename T>
 
  762 template <
typename T>
 
Boolean attribute value declarations. 
Double attribute value declarations and template implementations. 
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input 
TracedValue< T > & operator|=(TracedValue< T > &lhs, const U &rhs)
Operator assignment for TracedValue. 
int64x64_t operator+(const int64x64_t &lhs)
Unary plus operator. 
int64x64_t & operator/=(int64x64_t &lhs, const int64x64_t &rhs)
Compound division operator. 
T m_v
The underlying value. 
Unsigned integer attribute value declarations and template implementations. 
TracedValue & operator=(const TracedValue &o)
Assignment. 
int64x64_t operator-(const int64x64_t &lhs)
Unary negation operator (change sign operator). 
TracedValue< T > operator&(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
Infix arithmetic operator for TracedValue. 
Base class for Callback class. 
void Disconnect(const CallbackBase &cb, std::string path)
Disconnect a Callback which was connected with context. 
void(* Uint8)(uint8_t oldValue, uint8_t newValue)
TracedValue Callback signature for POD. 
int64x64_t & operator+=(int64x64_t &lhs, const int64x64_t &rhs)
Compound addition operator. 
void Set(const T &v)
Set the value of the underlying variable. 
Trace classes with value semantics. 
T Get(void) const 
Get the underlying value. 
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator. 
TracedValue(const TracedValue< U > &other)
Copy from a TracedValue of a compatable type. 
void(* Int16)(int16_t oldValue, int16_t newValue)
TracedValue Callback signature for POD. 
TracedValue< T > operator~(const TracedValue< T > &lhs)
Unary arithmetic operator for TracedValue. 
ns3::TracedCallback declaration and template implementation. 
void ConnectWithoutContext(const CallbackBase &cb)
Connect a Callback (without context.) 
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator. 
void Connect(const CallbackBase &cb, std::string path)
Connect a Callback with a context string. 
TracedValue< T > operator^(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
Infix arithmetic operator for TracedValue. 
TracedValue()
Default constructor. 
void(* Int8)(int8_t oldValue, int8_t newValue)
TracedValue Callback signature for POD. 
void DisconnectWithoutContext(const CallbackBase &callback)
Remove from the chain a Callback which was connected without a context. 
Enum attribute value declarations. 
TracedValue & operator--()
Pre/post- increment/decrement operator. 
void Disconnect(const CallbackBase &callback, std::string path)
Remove from the chain a Callback which was connected with a context. 
void(* Int32)(int32_t oldValue, int32_t newValue)
TracedValue Callback signature for POD. 
TracedValue(const U &other)
Copy from a variable type compatible with this underlying type. 
TracedValue< T > & operator%=(TracedValue< T > &lhs, const U &rhs)
Operator assignment for TracedValue. 
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. 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
int64x64_t & operator*=(int64x64_t &lhs, const int64x64_t &rhs)
Compound multiplication operator. 
TracedValue< T > & operator>>=(TracedValue< T > &lhs, const U &rhs)
Operator assignment for TracedValue. 
TracedValue< T > operator%(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
Infix arithmetic operator for TracedValue. 
TracedValue< T > & operator^=(TracedValue< T > &lhs, const U &rhs)
Operator assignment for TracedValue. 
TracedValue(const T &v)
Construct from an explicit variable. 
void Connect(const CallbackBase &callback, std::string path)
Append a Callback to the chain with a context. 
TracedValue(const TracedValue &o)
Copy constructor. 
void(* Double)(double oldValue, double newValue)
TracedValue Callback signature for POD. 
void ConnectWithoutContext(const CallbackBase &callback)
Append a Callback to the chain (without a context). 
TracedValue< T > & operator&=(TracedValue< T > &lhs, const U &rhs)
Operator assignment for TracedValue. 
bool operator>(const int64x64_t &lhs, const int64x64_t &rhs)
Greater operator. 
bool operator==(const EventId &a, const EventId &b)
Integer attribute value declarations and template implementations. 
void DisconnectWithoutContext(const CallbackBase &cb)
Disconnect a Callback which was connected without context. 
#define TRACED_VALUE_DEBUG(x)
Logging macro for TracedValue. 
void(* Uint16)(uint16_t oldValue, uint16_t newValue)
TracedValue Callback signature for POD. 
TracedValue< T > operator|(const TracedValue< T > &lhs, const TracedValue< U > &rhs)
Infix arithmetic operator for TracedValue. 
TracedValue & operator++()
Pre/post- increment/decrement operator. 
void(* Uint32)(uint32_t oldValue, uint32_t newValue)
TracedValue Callback signature for POD. 
TracedCallback< T, T > m_cb
The connected Callback. 
int64x64_t operator!(const int64x64_t &lhs)
Logical not operator. 
void(* Bool)(bool oldValue, bool newValue)
TracedValue Callback signature for POD. 
int64x64_t & operator-=(int64x64_t &lhs, const int64x64_t &rhs)
Compound subtraction operator.