Represents a time value. More...
#include <SFML/System/Time.hpp>
Public Member Functions | |
constexpr | Time ()=default |
Default constructor. | |
template<typename Rep , typename Period > | |
constexpr | Time (const std::chrono::duration< Rep, Period > &duration) |
Construct from std::chrono::duration | |
constexpr float | asSeconds () const |
Return the time value as a number of seconds. | |
constexpr std::int32_t | asMilliseconds () const |
Return the time value as a number of milliseconds. | |
constexpr std::int64_t | asMicroseconds () const |
Return the time value as a number of microseconds. | |
constexpr std::chrono::microseconds | toDuration () const |
Return the time value as a std::chrono::duration | |
template<typename Rep , typename Period > | |
constexpr | operator std::chrono::duration< Rep, Period > () const |
Implicit conversion to std::chrono::duration | |
Static Public Attributes | |
static const Time | Zero |
Predefined "zero" time value. | |
Related Symbols | |
(Note that these are not member symbols.) | |
constexpr Time | seconds (float amount) |
Construct a time value from a number of seconds. | |
constexpr Time | milliseconds (std::int32_t amount) |
Construct a time value from a number of milliseconds. | |
constexpr Time | microseconds (std::int64_t amount) |
Construct a time value from a number of microseconds. | |
constexpr bool | operator== (Time left, Time right) |
Overload of operator== to compare two time values. | |
constexpr bool | operator!= (Time left, Time right) |
Overload of operator!= to compare two time values. | |
constexpr bool | operator< (Time left, Time right) |
Overload of operator< to compare two time values. | |
constexpr bool | operator> (Time left, Time right) |
Overload of operator> to compare two time values. | |
constexpr bool | operator<= (Time left, Time right) |
Overload of operator<= to compare two time values. | |
constexpr bool | operator>= (Time left, Time right) |
Overload of operator>= to compare two time values. | |
constexpr Time | operator- (Time right) |
Overload of unary operator- to negate a time value. | |
constexpr Time | operator+ (Time left, Time right) |
Overload of binary operator+ to add two time values. | |
constexpr Time & | operator+= (Time &left, Time right) |
Overload of binary operator+= to add/assign two time values. | |
constexpr Time | operator- (Time left, Time right) |
Overload of binary operator- to subtract two time values. | |
constexpr Time & | operator-= (Time &left, Time right) |
Overload of binary operator-= to subtract/assign two time values. | |
constexpr Time | operator* (Time left, float right) |
Overload of binary operator* to scale a time value. | |
constexpr Time | operator* (Time left, std::int64_t right) |
Overload of binary operator* to scale a time value. | |
constexpr Time | operator* (float left, Time right) |
Overload of binary operator* to scale a time value. | |
constexpr Time | operator* (std::int64_t left, Time right) |
Overload of binary operator* to scale a time value. | |
constexpr Time & | operator*= (Time &left, float right) |
Overload of binary operator*= to scale/assign a time value. | |
constexpr Time & | operator*= (Time &left, std::int64_t right) |
Overload of binary operator*= to scale/assign a time value. | |
constexpr Time | operator/ (Time left, float right) |
Overload of binary operator/ to scale a time value. | |
constexpr Time | operator/ (Time left, std::int64_t right) |
Overload of binary operator/ to scale a time value. | |
constexpr Time & | operator/= (Time &left, float right) |
Overload of binary operator/= to scale/assign a time value. | |
constexpr Time & | operator/= (Time &left, std::int64_t right) |
Overload of binary operator/= to scale/assign a time value. | |
constexpr float | operator/ (Time left, Time right) |
Overload of binary operator/ to compute the ratio of two time values. | |
constexpr Time | operator% (Time left, Time right) |
Overload of binary operator% to compute remainder of a time value. | |
constexpr Time & | operator%= (Time &left, Time right) |
Overload of binary operator%= to compute/assign remainder of a time value. | |
Detailed Description
Represents a time value.
sf::Time
encapsulates a time value in a flexible way.
It allows to define a time value either as a number of seconds, milliseconds or microseconds. It also works the other way round: you can read a time value as either a number of seconds, milliseconds or microseconds. It even interoperates with the <chrono>
header. You can construct an sf::Time
from a chrono::duration
and read any sf::Time
as a chrono::duration.
By using such a flexible interface, the API doesn't impose any fixed type or resolution for time values, and let the user choose its own favorite representation.
Time values support the usual mathematical operations: you can add or subtract two times, multiply or divide a time by a number, compare two times, etc.
Since they represent a time span and not an absolute time value, times can also be negative.
Usage example:
- See also
sf::Clock
Constructor & Destructor Documentation
◆ Time() [1/2]
|
constexprdefault |
Default constructor.
Sets the time value to zero.
◆ Time() [2/2]
|
constexpr |
Construct from std::chrono::duration
Member Function Documentation
◆ asMicroseconds()
|
nodiscardconstexpr |
Return the time value as a number of microseconds.
- Returns
- Time in microseconds
- See also
asSeconds
,asMilliseconds
◆ asMilliseconds()
|
nodiscardconstexpr |
Return the time value as a number of milliseconds.
- Returns
- Time in milliseconds
- See also
asSeconds
,asMicroseconds
◆ asSeconds()
|
nodiscardconstexpr |
Return the time value as a number of seconds.
- Returns
- Time in seconds
- See also
asMilliseconds
,asMicroseconds
◆ operator std::chrono::duration< Rep, Period >()
|
constexpr |
Implicit conversion to std::chrono::duration
- Returns
- Duration in microseconds
◆ toDuration()
|
nodiscardconstexpr |
Return the time value as a std::chrono::duration
- Returns
- Time in microseconds
Friends And Related Symbol Documentation
◆ microseconds()
|
related |
Construct a time value from a number of microseconds.
- Parameters
-
amount Number of microseconds
- Returns
- Time value constructed from the amount of microseconds
- See also
seconds
,milliseconds
◆ milliseconds()
|
related |
Construct a time value from a number of milliseconds.
- Parameters
-
amount Number of milliseconds
- Returns
- Time value constructed from the amount of milliseconds
- See also
seconds
,microseconds
◆ operator!=()
Overload of operator!=
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
if both time values are different
◆ operator%()
Overload of binary operator%
to compute remainder of a time value.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
left
moduloright
◆ operator%=()
Overload of binary operator%=
to compute/assign remainder of a time value.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
left
moduloright
◆ operator*() [1/4]
Overload of binary operator*
to scale a time value.
- Parameters
-
left Left operand (a number) right Right operand (a time)
- Returns
left
multiplied byright
◆ operator*() [2/4]
Overload of binary operator*
to scale a time value.
- Parameters
-
left Left operand (a number) right Right operand (a time)
- Returns
left
multiplied byright
◆ operator*() [3/4]
Overload of binary operator*
to scale a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
multiplied byright
◆ operator*() [4/4]
Overload of binary operator*
to scale a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
multiplied byright
◆ operator*=() [1/2]
Overload of binary operator*=
to scale/assign a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
multiplied byright
◆ operator*=() [2/2]
Overload of binary operator*=
to scale/assign a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
multiplied byright
◆ operator+()
Overload of binary operator+
to add two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
- Sum of the two times values
◆ operator+=()
Overload of binary operator+=
to add/assign two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
- Sum of the two times values
◆ operator-() [1/2]
Overload of binary operator-
to subtract two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
- Difference of the two times values
◆ operator-() [2/2]
Overload of unary operator-
to negate a time value.
- Parameters
-
right Right operand (a time)
- Returns
- Opposite of the time value
◆ operator-=()
Overload of binary operator-=
to subtract/assign two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
- Difference of the two times values
◆ operator/() [1/3]
Overload of binary operator/
to scale a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
divided byright
◆ operator/() [2/3]
Overload of binary operator/
to scale a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
divided byright
◆ operator/() [3/3]
Overload of binary operator/
to compute the ratio of two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
left
divided byright
◆ operator/=() [1/2]
Overload of binary operator/=
to scale/assign a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
divided byright
◆ operator/=() [2/2]
Overload of binary operator/=
to scale/assign a time value.
- Parameters
-
left Left operand (a time) right Right operand (a number)
- Returns
left
divided byright
◆ operator<()
Overload of operator<
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
ifleft
is lesser thanright
◆ operator<=()
Overload of operator<=
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
ifleft
is lesser or equal thanright
◆ operator==()
Overload of operator==
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
if both time values are equal
◆ operator>()
Overload of operator>
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
ifleft
is greater thanright
◆ operator>=()
Overload of operator>=
to compare two time values.
- Parameters
-
left Left operand (a time) right Right operand (a time)
- Returns
true
ifleft
is greater or equal thanright
◆ seconds()
|
related |
Construct a time value from a number of seconds.
- Parameters
-
amount Number of seconds
- Returns
- Time value constructed from the amount of seconds
- See also
milliseconds
,microseconds
Member Data Documentation
◆ Zero
|
static |
The documentation for this class was generated from the following file: