c2990d71247739dfb4f7bec6e6372694b2f8d2f3
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

1) /* Blinker
2)    Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
6) #ifndef BLINKER_TIME_H
7) #define BLINKER_TIME_H
8) 
Stefan Schuermans include order for Windows

Stefan Schuermans authored 7 years ago

9) #include <winsock2.h> // not allowed after windows.h, so include here
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

10) #include <windows.h>
11) #include <stdint.h>
12) 
13) namespace Blinker {
14) 
15) /// time, either point in time or duration
16) class Time
17) {
18) public:
19)   static const Time zero; ///< zero time
20) 
21) public:
22)   /**
23)    * @brief get current time
24)    * @return current time
25)    */
26)   static Time now();
27) 
28) public:
29)   /// constructor
30)   Time();
31) 
32)   /**
33)    * @brief constructor from seconds
34)    * @param[in] t time in seconds
35)    */
36)   Time(time_t t);
37) 
38) public:
39)   /// comparison
40)   //@{
41)   int compare(const Time &that) const;
42)   bool operator==(const Time &that) const;
43)   bool operator!=(const Time &that) const;
44)   bool operator<(const Time &that) const;
45)   bool operator>(const Time &that) const;
46)   bool operator<=(const Time &that) const;
47)   bool operator>=(const Time &that) const;
48)   //@}
49) 
50)   /// arithmetic
51)   //@{
52)   const Time & operator+=(const Time &that);
53)   const Time & operator-=(const Time &that);
54)   Time operator+(const Time &that) const;
55)   Time operator-(const Time &that) const;
56)   //@}
57) 
58)   /**
59)    * @brief convert from floating point seconds
60)    * @param[in] s time in seconds
61)    */
62)   void fromFloatSec(float s);
63) 
64)   /**
65)    * @brief convert from milliseconds
66)    * @param[in] ms milliseconds
67)    */
68)   void fromMs(int ms);
69) 
70)   /**
71)    * @brief convert to seconds
72)    * @return seconds
73)    */
74)   time_t toSec() const;
75) 
76)   /**
77)    * @brief convert to floating point seconds
78)    * @return time in seconds
79)    */
80)   float toFloatSec() const;
81) 
Stefan Schuermans IO for Windows

Stefan Schuermans authored 7 years ago

82)   /**
83)    * @brief convert to struct timeval
84)    * @param[out] tv struct timeval
85)    */
86)   void toTimeval(struct timeval &tv) const;
87)