OMNeT++ API 6.2.0
Discrete Event Simulation Library
WATCH Macros

Description

WATCH macros make normal variables show up in Qtenv inspectors.

#define WATCH_VECTOR(variable)
 Makes std::vectors inspectable in Qtenv. See also WATCH_PTRVECTOR(). More...
 
#define WATCH_PTRVECTOR(variable)
 Makes std::vectors storing pointers inspectable in Qtenv. See also WATCH_VECTOR(). More...
 
#define WATCH_LIST(variable)
 Makes std::lists inspectable in Qtenv. See also WATCH_PTRLIST(). More...
 
#define WATCH_PTRLIST(variable)
 Makes std::lists storing pointers inspectable in Qtenv. See also WATCH_LIST(). More...
 
#define WATCH_SET(variable)
 Makes std::sets inspectable in Qtenv. See also WATCH_PTRSET(). More...
 
#define WATCH_PTRSET(variable)
 Makes std::sets storing pointers inspectable in Qtenv. See also WATCH_SET(). More...
 
#define WATCH_MAP(m)
 Makes std::maps inspectable in Qtenv. See also WATCH_PTRMAP(). More...
 
#define WATCH_PTRMAP(m)
 Makes std::maps storing pointers inspectable in Qtenv. See also WATCH_MAP(). More...
 
#define WATCH(variable)
 Makes primitive types and types with operator<< inspectable in Qtenv. See also WATCH_RW(), WATCH_PTR(), WATCH_OBJ(), WATCH_VECTOR(), WATCH_PTRVECTOR(), etc. macros. More...
 
#define WATCH_RW(variable)
 Makes types with operator<< and operator>> inspectable in Qtenv. operator>> is used to enable changing the variable's value interactively. More...
 
#define WATCH_OBJ(variable)
 Makes classes derived from cObject inspectable in Qtenv. See also WATCH_PTR(). More...
 
#define WATCH_PTR(variable)
 Makes pointers to objects derived from cObject inspectable in Qtenv. See also WATCH_OBJ(). More...
 
#define WATCH_EXPR(name, expression)
 Makes the result of a formula or calculation inspectable in Qtenv without requiring a separate variable. The expression is evaluated as often as needed, providing real-time monitoring of derived metrics. Unlike WATCH which monitors single variables, WATCH_EXPR can display the result of operations combining multiple variables, function calls, or any valid expression. More...
 
#define WATCH_LAMBDA(name, lambdaFunction)
 Makes the result of a lambda function inspectable in Qtenv. This is a more flexible (but also more verbose) version of WATCH_EXPR(). More...
 

Macro Definition Documentation

◆ WATCH_VECTOR

#define WATCH_VECTOR (   variable)

Makes std::vectors inspectable in Qtenv. See also WATCH_PTRVECTOR().

◆ WATCH

#define WATCH (   variable)

Makes primitive types and types with operator<< inspectable in Qtenv. See also WATCH_RW(), WATCH_PTR(), WATCH_OBJ(), WATCH_VECTOR(), WATCH_PTRVECTOR(), etc. macros.

◆ WATCH_PTRVECTOR

#define WATCH_PTRVECTOR (   variable)

Makes std::vectors storing pointers inspectable in Qtenv. See also WATCH_VECTOR().

◆ WATCH_LIST

#define WATCH_LIST (   variable)

Makes std::lists inspectable in Qtenv. See also WATCH_PTRLIST().

◆ WATCH_PTRLIST

#define WATCH_PTRLIST (   variable)

Makes std::lists storing pointers inspectable in Qtenv. See also WATCH_LIST().

◆ WATCH_SET

#define WATCH_SET (   variable)

Makes std::sets inspectable in Qtenv. See also WATCH_PTRSET().

◆ WATCH_PTRSET

#define WATCH_PTRSET (   variable)

Makes std::sets storing pointers inspectable in Qtenv. See also WATCH_SET().

◆ WATCH_MAP

#define WATCH_MAP (   m)

Makes std::maps inspectable in Qtenv. See also WATCH_PTRMAP().

◆ WATCH_PTRMAP

#define WATCH_PTRMAP (   m)

Makes std::maps storing pointers inspectable in Qtenv. See also WATCH_MAP().

◆ WATCH_RW

#define WATCH_RW (   variable)

Makes types with operator<< and operator>> inspectable in Qtenv. operator>> is used to enable changing the variable's value interactively.

◆ WATCH_OBJ

#define WATCH_OBJ (   variable)

Makes classes derived from cObject inspectable in Qtenv. See also WATCH_PTR().

◆ WATCH_PTR

#define WATCH_PTR (   variable)

Makes pointers to objects derived from cObject inspectable in Qtenv. See also WATCH_OBJ().

◆ WATCH_EXPR

#define WATCH_EXPR (   name,
  expression 
)

Makes the result of a formula or calculation inspectable in Qtenv without requiring a separate variable. The expression is evaluated as often as needed, providing real-time monitoring of derived metrics. Unlike WATCH which monitors single variables, WATCH_EXPR can display the result of operations combining multiple variables, function calls, or any valid expression.

The macro works by creating a lambda function. Note that local variables will be captured by value (i.e. their current values will be used.) See also WATCH_LAMBDA() which gives you more flexibility.

Example: WATCH_EXPR("totalPks", numTransmitted + queue.length() + numDropped)

◆ WATCH_LAMBDA

#define WATCH_LAMBDA (   name,
  lambdaFunction 
)

Makes the result of a lambda function inspectable in Qtenv. This is a more flexible (but also more verbose) version of WATCH_EXPR().

Example: WATCH_LAMBDA("totalPks", [this]() { return numTransmitted + queue.length() + numDropped; })