25 #include "ns3/nstime.h" 
   60   bool decimalPtSeen = 
false;
 
   61   bool exponentSeen = 
false;
 
   64   for (std::string::const_iterator it = s.begin (); it != s.end (); it++)
 
   66       if ((*it == 
'.') && (decimalPtSeen))
 
   70       else if ((*it == 
'e') && exponentSeen)
 
   75           decimalPtSeen = 
false;
 
   77       else if (*it == 
'-' && it != s.begin () && last != 
'e')
 
   89   std::ofstream scalarFile;
 
   91   scalarFile.open (fn.c_str (), std::ios_base::out);
 
   94   scalarFile << 
"run " << dc.
GetRunLabel () << std::endl;
 
  100              << 
"\"" << std::endl;
 
  102              << 
"\"" << std::endl;
 
  106       std::pair<std::string, std::string> blob = (*i);
 
  107       scalarFile << 
"attr \"" << blob.first << 
"\" \"" << blob.second << 
"\"" 
  111   scalarFile << std::endl;
 
  113       scalarFile << 
"scalar . measurement \"" << dc.
GetInputLabel ()
 
  114                  << 
"\"" << std::endl;
 
  118       std::pair<std::string, std::string> blob = (*i);
 
  120           scalarFile << 
"scalar . \"" << blob.first << 
"\" \"" << blob.second << 
"\"" 
  128       (*i)->Output (callback);
 
  131   scalarFile << std::endl << std::endl;
 
  139   (std::ostream *scalar) :
 
  153   (*m_scalar) << 
"statistic " << context << 
" " << name << std::endl;
 
  155     (*m_scalar) << 
"field count " << statSum->
getCount () << std::endl;
 
  157     (*m_scalar) << 
"field sum " << statSum->
getSum () << std::endl;
 
  159     (*m_scalar) << 
"field mean " << statSum->
getMean () << std::endl;
 
  161     (*m_scalar) << 
"field min " << statSum->
getMin () << std::endl;
 
  163     (*m_scalar) << 
"field max " << statSum->
getMax () << std::endl;
 
  165     (*m_scalar) << 
"field sqrsum " << statSum->
getSqrSum () << std::endl;
 
  167     (*m_scalar) << 
"field stddev " << statSum->
getStddev () << std::endl;
 
  179   (*m_scalar) << 
"scalar " << context << 
" " << name << 
" " << val << std::endl;
 
  192   (*m_scalar) << 
"scalar " << context << 
" " << name << 
" " << val << std::endl;
 
  205   (*m_scalar) << 
"scalar " << context << 
" " << name << 
" " << val << std::endl;
 
  218   (*m_scalar) << 
"scalar " << context << 
" " << name << 
" " << val << std::endl;
 
  231   (*m_scalar) << 
"scalar " << context << 
" " << name << 
" " << val.
GetTimeStep () << std::endl;
 
DataCalculatorList::iterator DataCalculatorEnd()
 
keep track of time values and allow control of global simulation resolution 
 
virtual double getMin() const =0
 
virtual double getSqrSum() const =0
 
std::string GetRunLabel() const 
 
virtual void Output(DataCollector &dc)
 
#define NS_LOG_FUNCTION_NOARGS()
 
virtual ~OmnetDataOutput()
 
virtual double getStddev() const =0
 
virtual double getMean() const =0
 
MetadataList::iterator MetadataBegin()
 
virtual double getMax() const =0
 
OmnetOutputCallback(std::ostream *scalar)
 
std::string GetStrategyLabel() const 
 
void OutputStatistic(std::string context, std::string name, const StatisticalSummary *statSum)
 
bool isNumeric(const std::string &s)
 
std::string GetExperimentLabel() const 
 
int64_t GetTimeStep(void) const 
 
virtual double getSum() const =0
 
NS_LOG_COMPONENT_DEFINE("PacketLossCounter")
 
std::string GetDescription() const 
 
DataCalculatorList::iterator DataCalculatorBegin()
 
std::string GetInputLabel() const 
 
void OutputSingleton(std::string context, std::string name, int val)
 
virtual long getCount() const =0
 
MetadataList::iterator MetadataEnd()