qb
2.0.0.0
C++17 Actor Framework
|
High-precision timing utilities. More...
#include <chrono>
#include <cstdint>
#include <ratio>
#include <string>
#include <string_view>
#include <type_traits>
#include <utility>
#include <iomanip>
#include <array>
#include <optional>
#include <functional>
#include <thread>
#include <qb/io.h>
Go to the source code of this file.
Classes | |
class | qb::Duration |
Represents a duration with nanosecond precision. More... | |
class | qb::TimePoint |
Represents a point in time with nanosecond precision. More... | |
class | qb::UtcTimePoint |
Represents a UTC time point with nanosecond precision. More... | |
class | qb::LocalTimePoint |
Represents a local time point with nanosecond precision. More... | |
class | qb::HighResTimePoint |
Represents a high-resolution time point. More... | |
class | qb::TscTimePoint |
Represents a time point based on CPU's timestamp counter. More... | |
class | qb::ScopedTimer |
Utility for measuring code block execution time. More... | |
class | qb::LogTimer |
Utility for logging execution time of code blocks. More... | |
struct | std::hash< qb::Duration > |
Specialization of std::hash for qb::Duration. More... | |
struct | std::hash< qb::TimePoint > |
Specialization of std::hash for qb::TimePoint. More... |
Typedefs | |
using | qb::Timespan = Duration |
Backward compatibility alias for Duration. | |
using | qb::Timestamp = TimePoint |
Backward compatibility alias for TimePoint. | |
using | qb::UtcTimestamp = UtcTimePoint |
Backward compatibility alias for UtcTimePoint. | |
using | qb::LocalTimestamp = LocalTimePoint |
Backward compatibility alias for LocalTimePoint. | |
using | qb::NanoTimestamp = HighResTimePoint |
Backward compatibility alias for HighResTimePoint. | |
using | qb::RdtsTimestamp = TscTimePoint |
Backward compatibility alias for TscTimePoint. |
Functions | |
constexpr Duration | qb::operator+ (const Duration &lhs, const Duration &rhs) noexcept |
Adds two durations. | |
constexpr Duration | qb::operator- (const Duration &lhs, const Duration &rhs) noexcept |
Subtracts second duration from first. | |
constexpr Duration | qb::operator* (const Duration &lhs, Duration::rep rhs) noexcept |
Multiplies a duration by a scalar value. | |
constexpr Duration | qb::operator* (Duration::rep lhs, const Duration &rhs) noexcept |
Multiplies a scalar value by a duration. | |
constexpr Duration | qb::operator/ (const Duration &lhs, Duration::rep rhs) noexcept |
Divides a duration by a scalar value. | |
constexpr Duration::rep | qb::operator/ (const Duration &lhs, const Duration &rhs) noexcept |
Divides one duration by another. | |
constexpr Duration | qb::operator% (const Duration &lhs, Duration::rep rhs) noexcept |
Calculates the remainder of dividing a duration by a scalar. | |
constexpr Duration | qb::operator% (const Duration &lhs, const Duration &rhs) noexcept |
Calculates the remainder of dividing one duration by another. | |
constexpr Duration | qb::literals::operator""_d (unsigned long long days) noexcept |
Creates a Duration from literal days. | |
constexpr Duration | qb::literals::operator""_h (unsigned long long hours) noexcept |
Creates a Duration from literal hours. | |
constexpr Duration | qb::literals::operator""_min (unsigned long long minutes) noexcept |
Creates a Duration from literal minutes. | |
constexpr Duration | qb::literals::operator""_s (unsigned long long seconds) noexcept |
Creates a Duration from literal seconds. | |
constexpr Duration | qb::literals::operator""_ms (unsigned long long milliseconds) noexcept |
Creates a Duration from literal milliseconds. | |
constexpr Duration | qb::literals::operator""_us (unsigned long long microseconds) noexcept |
Creates a Duration from literal microseconds. | |
constexpr Duration | qb::literals::operator""_ns (unsigned long long nanoseconds) noexcept |
Creates a Duration from literal nanoseconds. | |
TimePoint | qb::operator+ (const TimePoint &lhs, const Duration &rhs) noexcept |
Adds a duration to a time point. | |
TimePoint | qb::operator+ (const Duration &lhs, const TimePoint &rhs) noexcept |
Adds a time point to a duration. | |
TimePoint | qb::operator- (const TimePoint &lhs, const Duration &rhs) noexcept |
Subtracts a duration from a time point. | |
Duration | qb::operator- (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Calculates the duration between two time points. | |
constexpr bool | qb::operator== (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Equality comparison for time points. | |
constexpr bool | qb::operator!= (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Inequality comparison for time points. | |
constexpr bool | qb::operator< (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Less than comparison for time points. | |
constexpr bool | qb::operator<= (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Less than or equal comparison for time points. | |
constexpr bool | qb::operator> (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Greater than comparison for time points. | |
constexpr bool | qb::operator>= (const TimePoint &lhs, const TimePoint &rhs) noexcept |
Greater than or equal comparison for time points. | |
std::ostream & | operator<< (std::ostream &os, const qb::TimePoint &tp) |
Stream insertion operator for TimePoint. | |
std::ostream & | operator<< (std::ostream &os, const qb::Duration &d) |
Stream insertion operator for Duration. |
High-precision timing utilities.
This file provides a set of classes for precise time handling, measurement, and representation. It includes platform-independent implementations for time spans and timestamps with nanosecond precision.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.