Branch data Line data Source code
1 : : /*********************************************
2 : : Reactor Geometry Generator
3 : : Argonne National Laboratory
4 : :
5 : : CClock class definition.
6 : : *********************************************/
7 : : #include "meshkit/clock.hpp"
8 : :
9 : 24 : CClock::CClock ()
10 : : // ---------------------------------------------------------------------------
11 : : // Function: ctor. marks the current time
12 : : // Input: none
13 : : // Output: none
14 : : // ---------------------------------------------------------------------------
15 : : {
16 : 24 : time (&m_Time);
17 : 24 : }
18 : :
19 : 0 : CClock::CClock (const CClock& Time)
20 : : // ---------------------------------------------------------------------------
21 : : // Function: copy constructor
22 : : // Input: none
23 : : // Output: none
24 : : // ---------------------------------------------------------------------------
25 : : {
26 : 0 : m_Time = Time.m_Time;
27 : 0 : }
28 : :
29 : 24 : CClock::~CClock()
30 : : // ---------------------------------------------------------------------------
31 : : // Function: destructor
32 : : // Input: none
33 : : // Output: none
34 : : // ---------------------------------------------------------------------------
35 : : {
36 : 24 : }
37 : :
38 : 0 : double CClock::DiffTime (const CClock& Time) const
39 : : // ---------------------------------------------------------------------------
40 : : // Function: computes difference in time (in seconds) between
41 : : // two time instances
42 : : // Input: one of the time instances
43 : : // Output: none
44 : : // ---------------------------------------------------------------------------
45 : : {
46 : 0 : return (difftime (Time.m_Time, m_Time));
47 : : }
48 : :
49 : 48 : double CClock::DiffTime () const
50 : : // ---------------------------------------------------------------------------
51 : : // Function: computes difference in time (in seconds) between
52 : : // current time and marked time
53 : : // Input: none
54 : : // Output: none
55 : : // ---------------------------------------------------------------------------
56 : : {
57 : : time_t CurTime;
58 : 48 : time (&CurTime);
59 : 48 : return (difftime (CurTime, m_Time));
60 : : }
61 : :
62 : :
63 : 0 : void CClock::MarkTime ()
64 : : // ---------------------------------------------------------------------------
65 : : // Function: marks the current time
66 : : // Input: none
67 : : // Output: none
68 : : // ---------------------------------------------------------------------------
69 : : {
70 : 0 : time (&m_Time);
71 : 0 : }
72 : :
73 : 0 : long CClock::GetMarkedTime () const
74 : : // ---------------------------------------------------------------------------
75 : : // Function: gets the marked time
76 : : // Input: none
77 : : // Output: none
78 : : // ---------------------------------------------------------------------------
79 : : {
80 : 0 : return static_cast<long>(m_Time);
81 : : }
82 : :
83 : 48 : void CClock::GetDateTime (std::string& szDateTime) const
84 : : // ---------------------------------------------------------------------------
85 : : // Function: returns as a string the current date and time
86 : : // Input: string to hold current date and time
87 : : // Output: string containing the current date and time
88 : : // ---------------------------------------------------------------------------
89 : : {
90 : : time_t rawtime;
91 : : struct tm *timeinfo;
92 : :
93 : 48 : time (&rawtime);
94 : 48 : timeinfo = localtime (&rawtime);
95 [ + - ]: 48 : szDateTime = asctime (timeinfo);
96 : 48 : }
|