NanoTime.h File Reference
#include <cstdint>#include <esp_attr.h>#include <sming_attr.h>#include <cmath>#include "Rational.h"#include <WString.h>
Include dependency graph for NanoTime.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
| struct | NanoTime::Frequency |
| Class to represent a frequency. More... | |
| struct | NanoTime::Clock< ClockDef, frequency_, TickType_, maxTicks_ > |
| Class template representing a physical Clock with fixed timing characteristics. More... | |
| struct | NanoTime::TimeValue |
| A time time broken into its constituent elements. More... | |
| struct | NanoTime::Time< T > |
| Class to handle a simple time value with associated unit. More... | |
| struct | NanoTime::Ticks< Clock_, T > |
| Class to handle a tick value associated with a clock. More... | |
| struct | NanoTime::TimeConst< Clock_, unit_, time_ > |
| Class template to represent a fixed time value for a specific Clock. More... | |
| struct | NanoTime::TicksConst< Clock_, ticks_ > |
| Class template representing a fixed clock tick count. More... | |
| struct | NanoTime::TimeSource< Clock_, unit_, TimeType_ > |
| Class template for accessing a Clock in specific time units. More... | |
Namespaces | |
| NanoTime | |
Typedefs | |
| template<Unit unit> | |
| using | NanoTime::UnitTickRatio = std::ratio< unitTicks[unit].num, unitTicks[unit].den > |
| Class template to define tick std::ratio type. More... | |
Enumerations | |
| enum | NanoTime::Unit { NanoTime::Nanoseconds , NanoTime::Microseconds , NanoTime::Milliseconds , NanoTime::Seconds , NanoTime::Minutes , NanoTime::Hours , NanoTime::Days , NanoTime::UnitMax = Days } |
| Identify units for a scalar quantity of time. More... | |
Functions | |
| constexpr uint64_t | NanoTime::round_ce (double v) |
| const char * | NanoTime::unitToString (Unit unit) |
| Get a string identifying the given time units, e.g. "ns". More... | |
| const char * | NanoTime::unitToLongString (Unit unit) |
| Get a long string identifying the given time units, e.g. "seconds". More... | |
| template<uint64_t time, Unit unitsFrom, Unit unitsTo, typename R = std::ratio_divide<UnitTickRatio<unitsTo>, UnitTickRatio<unitsFrom>>> | |
| constexpr uint64_t | NanoTime::convert () |
| Function template to convert a constant time quantity from one unit to another. More... | |
| template<typename TimeType > | |
| TimeType | NanoTime::convert (const TimeType &time, Unit unitsFrom, Unit unitsTo) |
| Function template to convert a time quantity from one unit to another. More... | |
| template<typename T > | |
| Time< T > | NanoTime::time (Unit unit, T value) |
| Helper function to create a Time and deduce the type. More... | |
| template<Unit unitsFrom, Unit unitsTo, typename TimeType > | |
| TimeType | NanoTime::convert (const TimeType &time) |
| Function template to convert a time quantity from one unit to another. More... | |
Variables | |
| constexpr BasicRatio32 | NanoTime::unitTicks [UnitMax+1] |
| List of clock ticks for each supported unit of time. More... | |
1.9.1