SFML
Simple and Fast Multimedia Library
Loading...
Searching...
No Matches
sf::priv Namespace Reference

Classes

struct  Matrix
struct  Vector4

Typedefs

using ClockImpl = std::conditional_t<std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock>
 Chooses a monotonic clock of highest resolution.

Functions

template<class InputIt, class OutputIt>
OutputIt copy (InputIt first, InputIt last, OutputIt dFirst)

Typedef Documentation

◆ ClockImpl

using sf::priv::ClockImpl = std::conditional_t<std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock>

Chooses a monotonic clock of highest resolution.

The high_resolution_clock is usually an alias for other clocks: steady_clock or system_clock, whichever has a higher precision.

sf::Clock, however, is aimed towards monotonic time measurements and so system_clock could never be a choice as its subject to discontinuous jumps in the system time (e.g., if the system administrator manually changes the clock), and by the incremental adjustments performed by adjtime and Network Time Protocol. On the other hand, monotonic clocks are unaffected by this behavior.

Note: Linux implementation of a monotonic clock that takes sleep time into account is represented by CLOCK_BOOTTIME. Android devices can define the macro: SFML_ANDROID_USE_SUSPEND_AWARE_CLOCK to use a separate implementation of that clock, instead.

For more information on Linux clocks visit: https://linux.die.net/man/2/clock_gettime

Function Documentation

◆ copy()

template<class InputIt, class OutputIt>
OutputIt sf::priv::copy ( InputIt first,
InputIt last,
OutputIt dFirst )