a18485370a24dd9dd0e8851443ef47101716c02e
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>
Stefan Schuermans Time class: add toStr()

Stefan Schuermans authored 5 years ago

12) #include <string>
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

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

Stefan Schuermans authored 7 years ago

83)   /**
84)    * @brief convert to milliseconds
85)    * @return milliseconds
86)    */
87)   int toMs() const;
88) 
Stefan Schuermans IO for Windows

Stefan Schuermans authored 7 years ago

89)   /**
90)    * @brief convert to struct timeval
91)    * @param[out] tv struct timeval
92)    */
93)   void toTimeval(struct timeval &tv) const;
94) 
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

95)   /**
96)    * @brief convert from file time strcuture
97)    * @param[in] ft file time structure
98)    */
99)   void fromFileTime(FILETIME const &ft);
100) 
Stefan Schuermans Time class: add toStr()

Stefan Schuermans authored 5 years ago

101)   /**
102)    * @brief convert to human-readable string
103)    * @return human-readable string
104)    */
105)   std::string toStr() const;
106)