36    num_timestamps(num_tses) {
 
   37    assert(current_timestamp!=
nullptr);
 
   41 latency_timestamps::
to_csv(
std::ostream &os) 
const noexcept(
false) {
 
   43       <<ppd::api_threading_traits<ppd::platform_api, ppd::sequential_mode>::demangle_name(
typeid(timer_t))
 
   44       <<
",Number of entries,"<<size()
 
   46    for (element_type 
const * stamp=timestamps.get(); stamp!=current_timestamp; ++stamp) {
 
   47       assert(std::less<element_type 
const *>()(stamp, current_timestamp));
 
   49       assert(stamp->is_valid());
 
   57    if (num_timestamps>0) {
 
   58       const std::string timings_filename(make_filename(root)+
".csv");
 
   59       os<<
"Writing "<<size()<<
" latencies to '"<<timings_filename<<
"', (this might take some time)..."<<std::endl;
 
   60       std::ofstream csv_file(timings_filename.c_str());
 
   62       os<<
"... Written."<<
std::endl;
 
   68    if (num_timestamps>0) {
 
   69       const std::string timings_filename(base_filename+
".csv");
 
   70       os<<
"Writing "<<size()<<
" latencies to '"<<timings_filename<<
"', (this might take some time)..."<<std::endl;
 
   71       std::ofstream csv_file(timings_filename.c_str());
 
   73       os<<
"... Written."<<
std::endl;