$darkmode
duration.cpp File Reference
#include <cloe/core/duration.hpp>
#include <chrono>
#include <cmath>
#include <optional>
#include <string>
Include dependency graph for duration.cpp:

Functions

Duration cloe::parse_duration (const std::string &fmt)
 
std::string cloe::to_string (const Duration &ns)
 
nlohmann::json cloe::to_convenient_json (const Duration &ns)
 

Detailed Description

Function Documentation

◆ parse_duration()

Duration cloe::parse_duration ( const std::string &  fmt)

Convert a string containing a number and a unit to a duration.

The following units are supported:

ns
us
ms
s

Will throw an exception on malformed or out-of-range input.

Note: This parse function preserves precision even for floating point numbers. For example, 0.1 is not exactly representable as a floating point number, but together with a unit, we can scale it so that it is represented exactly.

Here is the caller graph for this function: