---
name: "std::chrono::duration"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::chrono::duration/3cxx"
---

# std::chrono::duration(3cxx)

chrono::duration represents a distance between two points in time

## NAME

std::chrono::duration\< \_Rep, \_Period \> - `chrono::duration` represents a distance between two points in time

## SYNOPSIS

### Public Types

**using** **period** = **typename** \_Period::type\
 **using** **rep** = \_Rep\

### Public Member Functions

template\<**typename** **\_Rep2** , **typename**  = \_Require\<		 is\_convertible\<const \_Rep2&, rep\>,		 \_\_or\_\<\_\_is\_float\<rep\>, \_\_not\_\<\_\_is\_float\<\_Rep2\>\>\>\>\> constexpr **duration** (const **\_Rep2** &\_\_rep)\
 **duration** (const **duration** &)=**default**\
 template\<**typename** **\_Rep2** , **typename** **\_Period2** , **typename**  = \_Require\<		 is\_convertible\<const \_Rep2&, rep\>,		 \_\_or\_\<\_\_is\_float\<rep\>,		       \_\_and\_\<\_\_is\_harmonic\<\_Period2\>,			      \_\_not\_\<\_\_is\_float\<\_Rep2\>\>\>\>\>\> constexpr **duration** (const **duration**\< **\_Rep2**, **\_Period2** \> &\_\_d)\
 constexpr rep **count** () const\
 template\<**typename** **\_Rep2**  = rep\> constexpr **enable\_if**\<!**treat\_as\_floating\_point**\< **\_Rep2** \>::value, **duration** & \>::type **operator%=** (const **duration** &\_\_d)\
 template\<**typename** **\_Rep2**  = rep\> constexpr **enable\_if**\<!**treat\_as\_floating\_point**\< **\_Rep2** \>::value, **duration** & \>::type **operator%=** (const rep &**\_\_rhs**)\
 constexpr **duration** & **operator\*=** (const rep &**\_\_rhs**)\
 constexpr **duration**\< **typename** **common\_type**\< rep \>::type, period \> **operator+** () const\
 constexpr **duration** & **operator++** ()\
 constexpr **duration** **operator++** (int)\
 constexpr **duration** & **operator+=** (const **duration** &\_\_d)\
 constexpr **duration**\< **typename** **common\_type**\< rep \>::type, period \> **operator-** () const\
 constexpr **duration** & **operator--** ()\
 constexpr **duration** **operator--** (int)\
 constexpr **duration** & **operator-=** (const **duration** &\_\_d)\
 constexpr **duration** & **operator/=** (const rep &**\_\_rhs**)\
 **duration** & **operator=** (const **duration** &)=**default**\

### Static Public Member Functions

**static** constexpr **duration** **max** () noexcept\
 **static** constexpr **duration** **min** () noexcept\
 **static** constexpr **duration** **zero** () noexcept\

### Related Symbols

(Note that these are not member symbols.)

template\<**typename** **\_Rep1** , **typename** **\_Period1** , **typename** **\_Rep2** , **typename** **\_Period2** \> constexpr **common\_type**\< **duration**\< **\_Rep1**, **\_Period1** \>, **duration**\< **\_Rep2**, **\_Period2** \> \>::type **operator+** (const **duration**\< **\_Rep1**, **\_Period1** \> &**\_\_lhs**, const **duration**\< **\_Rep2**, **\_Period2** \> &**\_\_rhs**)\

template\<**typename** **\_Rep1** , **typename** **\_Period** , **typename** **\_Rep2** \> constexpr **duration**\< **\_\_common\_rep\_t**\< **\_Rep1**, **\_Rep2** \>, **\_Period** \> **operator\*** (const **duration**\< **\_Rep1**, **\_Period** \> &\_\_d, const **\_Rep2** &**\_\_s**)\

template\<**typename** **\_Rep1** , **typename** **\_Period1** , **typename** **\_Rep2** , **typename** **\_Period2** \> constexpr bool **operator==** (const **duration**\< **\_Rep1**, **\_Period1** \> &**\_\_lhs**, const **duration**\< **\_Rep2**, **\_Period2** \> &**\_\_rhs**)\

## Detailed Description

### template\<typename \_Rep, typename \_Period\>

class std::chrono::duration\< \_Rep, \_Period \>"`chrono::duration` represents a distance between two points in time

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
