Documentation de SFML 2.6.1

Loading...
Searching...
No Matches
Time.hpp
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_TIME_HPP
26#define SFML_TIME_HPP
27
29// Headers
31#include <SFML/System/Export.hpp>
32
33
34namespace sf
35{
40class SFML_SYSTEM_API Time
41{
42public:
43
51
60 float asSeconds() const;
61
70 Int32 asMilliseconds() const;
71
80 Int64 asMicroseconds() const;
81
83 // Static member data
85 static const Time Zero;
86
87private:
88
89 friend SFML_SYSTEM_API Time seconds(float);
90 friend SFML_SYSTEM_API Time milliseconds(Int32);
91 friend SFML_SYSTEM_API Time microseconds(Int64);
92
102 explicit Time(Int64 microseconds);
103
104private:
105
107 // Member data
109 Int64 m_microseconds;
110};
111
123SFML_SYSTEM_API Time seconds(float amount);
124
136SFML_SYSTEM_API Time milliseconds(Int32 amount);
137
149SFML_SYSTEM_API Time microseconds(Int64 amount);
150
161SFML_SYSTEM_API bool operator ==(Time left, Time right);
162
173SFML_SYSTEM_API bool operator !=(Time left, Time right);
174
185SFML_SYSTEM_API bool operator <(Time left, Time right);
186
197SFML_SYSTEM_API bool operator >(Time left, Time right);
198
209SFML_SYSTEM_API bool operator <=(Time left, Time right);
210
221SFML_SYSTEM_API bool operator >=(Time left, Time right);
222
232SFML_SYSTEM_API Time operator -(Time right);
233
244SFML_SYSTEM_API Time operator +(Time left, Time right);
245
256SFML_SYSTEM_API Time& operator +=(Time& left, Time right);
257
268SFML_SYSTEM_API Time operator -(Time left, Time right);
269
280SFML_SYSTEM_API Time& operator -=(Time& left, Time right);
281
292SFML_SYSTEM_API Time operator *(Time left, float right);
293
304SFML_SYSTEM_API Time operator *(Time left, Int64 right);
305
316SFML_SYSTEM_API Time operator *(float left, Time right);
317
328SFML_SYSTEM_API Time operator *(Int64 left, Time right);
329
340SFML_SYSTEM_API Time& operator *=(Time& left, float right);
341
352SFML_SYSTEM_API Time& operator *=(Time& left, Int64 right);
353
364SFML_SYSTEM_API Time operator /(Time left, float right);
365
376SFML_SYSTEM_API Time operator /(Time left, Int64 right);
377
388SFML_SYSTEM_API Time& operator /=(Time& left, float right);
389
400SFML_SYSTEM_API Time& operator /=(Time& left, Int64 right);
401
412SFML_SYSTEM_API float operator /(Time left, Time right);
413
424SFML_SYSTEM_API Time operator %(Time left, Time right);
425
436SFML_SYSTEM_API Time& operator %=(Time& left, Time right);
437
438} // namespace sf
439
440
441#endif // SFML_TIME_HPP
442
443
Represents a time value.
Definition Time.hpp:41
Int64 asMicroseconds() const
Return the time value as a number of microseconds.
Time microseconds(Int64 amount)
Construct a time value from a number of microseconds.
static const Time Zero
Predefined "zero" time value.
Definition Time.hpp:85
Time milliseconds(Int32 amount)
Construct a time value from a number of milliseconds.
Int32 asMilliseconds() const
Return the time value as a number of milliseconds.
float asSeconds() const
Return the time value as a number of seconds.
Time()
Default constructor.
Time seconds(float amount)
Construct a time value from a number of seconds.