The Gaudi Framework  v37r1 (a7f61348)
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 67 of file GaudiTool.cpp.

Member Typedef Documentation

◆ Map

Definition at line 98 of file GaudiTool.cpp.

Constructor & Destructor Documentation

◆ Counter()

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

Definition at line 71 of file GaudiTool.cpp.

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

◆ ~Counter()

GaudiToolLocal::Counter::~Counter ( )
inline

Definition at line 73 of file GaudiTool.cpp.

73 { report(); }

Member Function Documentation

◆ counts()

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

current count

Definition at line 82 of file GaudiTool.cpp.

82 { return get( object ); }

◆ decrement()

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

make the decrement

Definition at line 80 of file GaudiTool.cpp.

80 { return --get( object ); }

◆ get()

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

Definition at line 99 of file GaudiTool.cpp.

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

◆ increment()

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

make the increment

Definition at line 78 of file GaudiTool.cpp.

78 { return ++get( object ); }

◆ report()

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

make a report

keep the silence?

Definition at line 84 of file GaudiTool.cpp.

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

Member Data Documentation

◆ m_map

Map GaudiToolLocal::Counter::m_map
private

Definition at line 104 of file GaudiTool.cpp.

◆ m_message

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

Definition at line 105 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:139
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:105
std::cout
GaudiTesting.BaseTest.which
def which(executable)
Definition: BaseTest.py:745
GaudiToolLocal::Counter::m_map
Map m_map
Definition: GaudiTool.cpp:104
GaudiToolLocal::Counter::get
long & get(std::string_view which)
Definition: GaudiTool.cpp:99
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:84