A Discrete-Event Network Simulator
API
traced-value.h File Reference

ns3::TracedValue declaration and template implementation. More...

#include "traced-callback.h"
#include "integer.h"
#include "uinteger.h"
#include "boolean.h"
#include "double.h"
#include "enum.h"
+ Include dependency graph for traced-value.h:

Go to the source code of this file.

Classes

class  ns3::TracedValue< T >
 Trace classes with value semantics. More...
 

Namespaces

 ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
 ns3::TracedValueCallback
 TracedValue Callback function types.
 

Macros

#define TRACED_VALUE_DEBUG(x)
 Logging macro for TracedValue. More...
 

Typedefs

typedef void(* ns3::TracedValueCallback::Void) (void)
 TracedValue Callback signature for void. More...
 
TracedValueCallback Signatures for POD.
typedef void(* ns3::TracedValueCallback::Bool) (bool oldValue, bool newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Double) (double oldValue, double newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Int16) (int16_t oldValue, int16_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Int32) (int32_t oldValue, int32_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Int64) (int64_t oldValue, int64_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Int8) (int8_t oldValue, int8_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Uint16) (uint16_t oldValue, uint16_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Uint32) (uint32_t oldValue, uint32_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Uint64) (uint64_t oldValue, uint64_t newValue)
 TracedValue Callback signature for POD. More...
 
typedef void(* ns3::TracedValueCallback::Uint8) (uint8_t oldValue, uint8_t newValue)
 TracedValue Callback signature for POD. More...
 

Functions

template<typename T >
TracedValue< T > ns3::operator! (const TracedValue< T > &lhs)
 Unary arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator!= (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator!= (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator!= (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator% (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() % rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator% (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() % rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator% (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs % rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator%= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator& (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() &rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator& (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() &rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator& (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs &rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator&= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator* (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() *rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator* (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() *rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator* (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs+rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator*= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T >
TracedValue< T > ns3::operator+ (const TracedValue< T > &lhs)
 Unary arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator+ (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get()+rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator+ (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get()+rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator+ (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs+rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator+= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T >
TracedValue< T > ns3::operator- (const TracedValue< T > &lhs)
 Unary arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator- (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() - rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator- (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() - rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator- (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs - rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator-= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator/ (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get()/rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator/ (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get()/rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator/ (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs/rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator/= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator< (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator< (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator< (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator<< (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get()<< rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator<< (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get()<< rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator<< (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs<< rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T >
std::ostream & ns3::operator<< (std::ostream &os, const TracedValue< T > &rhs)
 Output streamer for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator<<= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator<= (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator<= (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator<= (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator== (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator== (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator== (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator> (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator> (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator> (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator>= (const TracedValue< T > &lhs, const TracedValue< U > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator>= (const TracedValue< T > &lhs, const U &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
bool ns3::operator>= (const U &lhs, const TracedValue< T > &rhs)
 Boolean operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator>> (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() >> rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator>> (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() >> rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator>> (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs >> rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator>>= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator^ (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get() ^ rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator^ (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get() ^ rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator^ (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs ^ rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator^= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator| (const TracedValue< T > &lhs, const TracedValue< U > &rhs) -> TracedValue< decltype(lhs.Get()|rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator| (const TracedValue< T > &lhs, const U &rhs) -> TracedValue< decltype(lhs.Get()|rhs)>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
auto ns3::operator| (const U &lhs, const TracedValue< T > &rhs) -> TracedValue< decltype(lhs|rhs.Get())>
 Infix arithmetic operator for TracedValue. More...
 
template<typename T , typename U >
TracedValue< T > & ns3::operator|= (TracedValue< T > &lhs, const U &rhs)
 Operator assignment for TracedValue. More...
 
template<typename T >
TracedValue< T > ns3::operator~ (const TracedValue< T > &lhs)
 Unary arithmetic operator for TracedValue. More...
 

Detailed Description

ns3::TracedValue declaration and template implementation.

Definition in file traced-value.h.

Macro Definition Documentation

◆ TRACED_VALUE_DEBUG

#define TRACED_VALUE_DEBUG (   x)

Logging macro for TracedValue.

No NS_LOG_... here. When logging is needed use something like

#define TRACED_VALUE_DEBUG(x) \
std::cout << __FILE__ << ":" << __FUNCTION__ \
<< "(" << __LINE__ << ") " \
<< x << std::endl

Definition at line 48 of file traced-value.h.