diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index 9ab18101..cfff0583 100644 --- a/include/libcamera/base/utils.h +++ b/include/libcamera/base/utils.h @@ -327,6 +327,12 @@ class Duration : public std::chrono::duration public: Duration() = default; + template + constexpr explicit Duration(const Rep &r) + : BaseDuration(r) + { + } + template constexpr Duration(const std::chrono::duration &d) : BaseDuration(d) diff --git a/src/libcamera/base/utils.cpp b/src/libcamera/base/utils.cpp index 8cf8a5b2..6a307940 100644 --- a/src/libcamera/base/utils.cpp +++ b/src/libcamera/base/utils.cpp @@ -406,6 +406,15 @@ std::string toAscii(const std::string &str) * duration in nanoseconds with double precision */ +/** + * \fn Duration::Duration(const Rep &r) + * \brief Construct a Duration with \a r ticks + * \param[in] r The number of ticks + * + * The constructed \a Duration object is internally represented in double + * precision with \a r nanoseconds ticks. + */ + /** * \fn Duration::Duration(const std::chrono::duration &d) * \brief Construct a Duration by converting an arbitrary std::chrono::duration