INET Framework for OMNeT++/OMNEST
inet::visualizer::StatisticVisualizerBase::DirectiveResolver Class Reference

#include <StatisticVisualizerBase.h>

Inheritance diagram for inet::visualizer::StatisticVisualizerBase::DirectiveResolver:
inet::StringFormat::IDirectiveResolver

Public Member Functions

 DirectiveResolver (const StatisticVisualizerBase *visualizer, const StatisticVisualization *visualization)
 
virtual const char * resolveDirective (char directive) const override
 

Protected Attributes

const StatisticVisualizerBasevisualizer = nullptr
 
const StatisticVisualizationvisualization = nullptr
 

Constructor & Destructor Documentation

◆ DirectiveResolver()

inet::visualizer::StatisticVisualizerBase::DirectiveResolver::DirectiveResolver ( const StatisticVisualizerBase visualizer,
const StatisticVisualization visualization 
)
inline

Member Function Documentation

◆ resolveDirective()

const char * inet::visualizer::StatisticVisualizerBase::DirectiveResolver::resolveDirective ( char  directive) const
overridevirtual

Implements inet::StringFormat::IDirectiveResolver.

35 {
36  static std::string result;
37  switch (directive) {
38  case 's':
39  result = visualizer->signalName;
40  break;
41  case 'n':
42  result = visualizer->statisticName;
43  break;
44  case 'v':
45  if (std::isnan(visualization->printValue))
46  result = "-";
47  else {
48  char temp[32];
49  sprintf(temp, "%.4g", visualization->printValue);
50  result = temp;
51  }
52  break;
53  case 'u':
54  result = visualization->printUnit;
55  break;
56  default:
57  throw cRuntimeError("Unknown directive: %c", directive);
58  }
59  return result.c_str();
60 }

Member Data Documentation

◆ visualization

const StatisticVisualization* inet::visualizer::StatisticVisualizerBase::DirectiveResolver::visualization = nullptr
protected

◆ visualizer

const StatisticVisualizerBase* inet::visualizer::StatisticVisualizerBase::DirectiveResolver::visualizer = nullptr
protected

The documentation for this class was generated from the following files:
inet::visualizer::StatisticVisualizerBase::StatisticVisualization::printUnit
const char * printUnit
Definition: StatisticVisualizerBase.h:44
inet::visualizer::StatisticVisualizerBase::DirectiveResolver::visualization
const StatisticVisualization * visualization
Definition: StatisticVisualizerBase.h:53
inet::visualizer::StatisticVisualizerBase::statisticName
const char * statisticName
Definition: StatisticVisualizerBase.h:67
inet::visualizer::StatisticVisualizerBase::DirectiveResolver::visualizer
const StatisticVisualizerBase * visualizer
Definition: StatisticVisualizerBase.h:52
inet::visualizer::StatisticVisualizerBase::StatisticVisualization::printValue
double printValue
Definition: StatisticVisualizerBase.h:43
inet::visualizer::StatisticVisualizerBase::signalName
const char * signalName
Definition: StatisticVisualizerBase.h:66