The Gaudi Framework  v36r9 (fd2bdac3)
GaudiToolLocal::Counter Class Referencefinal
Collaboration diagram for GaudiToolLocal::Counter:

Public Member Functions

 Counter (std::string msg=" Misbalance ")
 
 ~Counter ()
 
long increment (std::string_view object)
 make the increment More...
 
long decrement (std::string_view object)
 make the decrement More...
 
long counts (std::string_view object)
 current count More...
 
void report () const
 make a report More...
 

Private Types

using Map = std::map< std::string, long, std::less<> >
 

Private Member Functions

long & get (std::string_view which)
 

Private Attributes

Map m_map
 
std::string m_message
 

Detailed Description

simple local counter

Definition at line 69 of file GaudiTool.cpp.

Member Typedef Documentation

◆ Map

Definition at line 100 of file GaudiTool.cpp.

Constructor & Destructor Documentation

◆ Counter()

GaudiToolLocal::Counter::Counter ( std::string  msg = " Misbalance ")
inline

Definition at line 73 of file GaudiTool.cpp.

73 : m_message( std::move( msg ) ){};

◆ ~Counter()

GaudiToolLocal::Counter::~Counter ( )
inline

Definition at line 75 of file GaudiTool.cpp.

75 { report(); }

Member Function Documentation

◆ counts()

long GaudiToolLocal::Counter::counts ( std::string_view  object)
inline

current count

Definition at line 84 of file GaudiTool.cpp.

84 { return get( object ); }

◆ decrement()

long GaudiToolLocal::Counter::decrement ( std::string_view  object)
inline

make the decrement

Definition at line 82 of file GaudiTool.cpp.

82 { return --get( object ); }

◆ get()

long& GaudiToolLocal::Counter::get ( std::string_view  which)
inlineprivate

Definition at line 101 of file GaudiTool.cpp.

101  {
102  auto i = m_map.find( which );
103  if ( i == m_map.end() ) i = m_map.emplace( which, long{} ).first;
104  return i->second;
105  }

◆ increment()

long GaudiToolLocal::Counter::increment ( std::string_view  object)
inline

make the increment

Definition at line 80 of file GaudiTool.cpp.

80 { return ++get( object ); }

◆ report()

void GaudiToolLocal::Counter::report ( ) const
inline

make a report

keep the silence?

Definition at line 86 of file GaudiTool.cpp.

86  {
88  if ( !GaudiTool::summaryEnabled() ) { return; } // RETURN
89  //
90  for ( const auto& entry : m_map ) {
91  if ( entry.second ) {
92  std::cout << "GaudiTool WARNING " << m_message << "'" << entry.first << "' Counts = " << entry.second
93  << std::endl;
94  }
95  }
96  }

Member Data Documentation

◆ m_map

Map GaudiToolLocal::Counter::m_map
private

Definition at line 106 of file GaudiTool.cpp.

◆ m_message

std::string GaudiToolLocal::Counter::m_message
private

Definition at line 107 of file GaudiTool.cpp.


The documentation for this class was generated from the following file:
std::move
T move(T... args)
std::map::find
T find(T... args)
GaudiTool::summaryEnabled
static bool summaryEnabled()
is summary enabled?
Definition: GaudiTool.cpp:141
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:19
std::map::emplace
T emplace(T... args)
GaudiToolLocal::Counter::m_message
std::string m_message
Definition: GaudiTool.cpp:107
std::cout
GaudiTesting.BaseTest.which
def which(executable)
Definition: BaseTest.py:749
GaudiToolLocal::Counter::m_map
Map m_map
Definition: GaudiTool.cpp:106
GaudiToolLocal::Counter::get
long & get(std::string_view which)
Definition: GaudiTool.cpp:101
std::endl
T endl(T... args)
std::map::end
T end(T... args)
GaudiToolLocal::Counter::report
void report() const
make a report
Definition: GaudiTool.cpp:86