View | Details | Raw Unified | Return to bug 1853
Collapse All | Expand All

(-)a/src/core/model/log.cc (-2 / +1 lines)
 Lines 580-587    Link Here 
580
580
581
581
582
ParameterLogger::ParameterLogger (std::ostream &os)
582
ParameterLogger::ParameterLogger (std::ostream &os)
583
  : std::basic_ostream<char> (os.rdbuf ()),  //!< \bugid{1792}
583
  : m_first (true),
584
    m_itemNumber (0),
585
    m_os (os)
584
    m_os (os)
586
{
585
{
587
}
586
}
(-)a/src/core/model/log.h (-8 / +7 lines)
 Lines 431-439    Link Here 
431
  std::string m_name;
431
  std::string m_name;
432
};
432
};
433
433
434
class ParameterLogger : public std::ostream
434
class ParameterLogger
435
{
435
{
436
  int m_itemNumber;
436
  bool m_first;
437
  std::ostream &m_os;
437
  std::ostream &m_os;
438
public:
438
public:
439
  ParameterLogger (std::ostream &os);
439
  ParameterLogger (std::ostream &os);
 Lines 441-456    Link Here 
441
  template<typename T>
441
  template<typename T>
442
  ParameterLogger& operator<< (T param)
442
  ParameterLogger& operator<< (T param)
443
  {
443
  {
444
    switch (m_itemNumber)
444
    if (m_first)
445
      {
445
      {
446
      case 0: // first parameter
447
        m_os << param;
446
        m_os << param;
448
        break;
447
        m_first = false;
449
      default: // parameter following a previous parameter
448
      }
449
    else
450
      {
450
        m_os << ", " << param;
451
        m_os << ", " << param;
451
        break;
452
      }
452
      }
453
    m_itemNumber++;
454
    return *this;
453
    return *this;
455
  }
454
  }
456
};
455
};

Return to bug 1853