ewmscp  ..
Public Member Functions | Private Types | Private Attributes | List of all members
timeRecords Class Reference
Collaboration diagram for timeRecords:
[legend]

Public Member Functions

template<typename InputIt >
void record (InputIt begin, InputIt end)
 
void record (std::chrono::system_clock::time_point when)
 
void print (const std::string &prefix)
 

Private Types

typedef std::chrono::time_point< std::chrono::system_clock, std::chrono::milliseconds > mapTimeType
 

Private Attributes

std::mutex recordMutex
 
std::map< mapTimeType, unsigned int > timeMap
 

Detailed Description

Definition at line 177 of file fileopstest.cpp.

Member Typedef Documentation

◆ mapTimeType

typedef std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> timeRecords::mapTimeType
private

Definition at line 178 of file fileopstest.cpp.

Member Function Documentation

◆ print()

void timeRecords::print ( const std::string &  prefix)
inline

Definition at line 191 of file fileopstest.cpp.

191  {
192  for (const auto& it : timeMap) {
193  auto then = std::chrono::system_clock::to_time_t(it.first);
194  auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(it.first.time_since_epoch()).count() % 1000;
195  std::cout << prefix <<
196  //std::put_time(std::localtime(&then), "%F %T")
197  then
198  << "." << std::setw(3) << std::setfill('0') << milliseconds << " " << it.second << "\n";
199  }
200  }

References timeMap.

Referenced by main().

Here is the caller graph for this function:

◆ record() [1/2]

template<typename InputIt >
void timeRecords::record ( InputIt  begin,
InputIt  end 
)
inline

Definition at line 182 of file fileopstest.cpp.

182  {
183  for (auto it = begin; it != end; ++it) {
184  record(*it);
185  }
186  }

Referenced by consumer(), and creator().

Here is the caller graph for this function:

◆ record() [2/2]

void timeRecords::record ( std::chrono::system_clock::time_point  when)
inline

Definition at line 187 of file fileopstest.cpp.

187  {
188  std::unique_lock<decltype(recordMutex)> lock(recordMutex);
189  ++(timeMap[std::chrono::time_point_cast<mapTimeType::duration>(when)]);
190  }

References recordMutex, and timeMap.

Member Data Documentation

◆ recordMutex

std::mutex timeRecords::recordMutex
private

Definition at line 179 of file fileopstest.cpp.

Referenced by record().

◆ timeMap

std::map<mapTimeType, unsigned int> timeRecords::timeMap
private

Definition at line 180 of file fileopstest.cpp.

Referenced by print(), and record().


The documentation for this class was generated from the following file:
timeRecords::timeMap
std::map< mapTimeType, unsigned int > timeMap
Definition: fileopstest.cpp:180
timeRecords::record
void record(InputIt begin, InputIt end)
Definition: fileopstest.cpp:182
timeRecords::recordMutex
std::mutex recordMutex
Definition: fileopstest.cpp:179