---
name: "std::chrono::duration"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::chrono::duration"
---

# std::chrono::duration(3)

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**\
 using **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\_t\<!**treat\_as\_floating\_point**\< \_Rep2 \>::value, duration & \> **operator%=** (const duration &\_\_d)\
 template\<typename \_Rep2 = rep\> constexpr \_\_enable\_if\_t\<!**treat\_as\_floating\_point**\< \_Rep2 \>::value, duration & \> **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)\
 The sum of two durations.

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.
