[time.clock.cast.id]

# 30 Time library [[time]](./#time)

## 30.7 Clocks [[time.clock]](time.clock#cast.id)

### 30.7.10 time_point conversions [[time.clock.cast]](time.clock.cast#id)

#### 30.7.10.2 Identity conversions [time.clock.cast.id]

template<class Clock>struct clock_time_conversion<Clock, Clock> {template<class Duration> time_point<Clock, Duration>operator()(const time_point<Clock, Duration>& t) const;};

[ð](#lib:operator(),clock_time_conversion)

`template<class Duration>
  time_point<Clock, Duration>
    operator()(const time_point<Clock, Duration>& t) const;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L3630)

*Returns*: t[.](#1.sentence-1)

template<>struct clock_time_conversion<system_clock, system_clock> {template<class Duration> sys_time<Duration>operator()(const sys_time<Duration>& t) const;};

[ð](#lib:operator(),clock_time_conversion_)

`template<class Duration>
  sys_time<Duration>
    operator()(const sys_time<Duration>& t) const;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L3652)

*Returns*: t[.](#2.sentence-1)

template<>struct clock_time_conversion<utc_clock, utc_clock> {template<class Duration> utc_time<Duration>operator()(const utc_time<Duration>& t) const;};

[ð](#lib:operator(),clock_time_conversion__)

`template<class Duration>
  utc_time<Duration>
    operator()(const utc_time<Duration>& t) const;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L3674)

*Returns*: t[.](#3.sentence-1)
