OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
Timestamp.h
Go to the documentation of this file.
1
//
2
// Class Timestamp
3
//
4
// Copyright (c) 2010 - 2013, Yves Ineichen, ETH Zürich
5
// All rights reserved
6
//
7
// Implemented as part of the PhD thesis
8
// "Toward massively parallel multi-objective optimization with application to
9
// particle accelerators" (https://doi.org/10.3929/ethz-a-009792359)
10
//
11
// This file is part of OPAL.
12
//
13
// OPAL is free software: you can redistribute it and/or modify
14
// it under the terms of the GNU General Public License as published by
15
// the Free Software Foundation, either version 3 of the License, or
16
// (at your option) any later version.
17
//
18
// You should have received a copy of the GNU General Public License
19
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
20
//
21
#ifndef __TIMESTAMP_H__
22
#define __TIMESTAMP_H__
23
24
#include <sstream>
25
#include <ctime>
26
27
#include "
Util/Trace/TraceComponent.h
"
28
29
#include "mpi.h"
30
31
class
Timestamp
:
public
TraceComponent
{
32
33
public
:
34
35
36
Timestamp
()
37
:
TraceComponent
(
"Timestamp"
)
38
{}
39
40
void
execute
(std::ostringstream &dump) {
41
42
std::chrono::time_point<std::chrono::system_clock> now;
43
now = std::chrono::system_clock::now();
44
std::time_t now_time = std::chrono::system_clock::to_time_t(now);
45
46
std::ostringstream timestamp;
47
timestamp << std::ctime(&now_time);
48
49
prepend
(dump, timestamp);
50
}
51
52
virtual
~Timestamp
()
53
{}
54
55
};
56
57
#endif
TraceComponent.h
Timestamp::Timestamp
Timestamp()
Definition
Timestamp.h:36
Timestamp::execute
void execute(std::ostringstream &dump)
Definition
Timestamp.h:40
Timestamp::~Timestamp
virtual ~Timestamp()
Definition
Timestamp.h:52
TraceComponent::prepend
void prepend(std::ostringstream &dump, std::ostringstream &prepender)
Definition
TraceComponent.h:39
TraceComponent::TraceComponent
TraceComponent(std::string name)
Definition
TraceComponent.h:31