Section: 23.17.3 [time.clock.req] Status: C++11 Submitter: Pete Becker Opened: 2009-01-07 Last modified: 2016-02-10
Priority: Not Prioritized
View all other issues in [time.clock.req].
View all issues with C++11 status.
23.17.3 [time.clock.req] uses the word "native" in several places, but doesn't define it. What is a "native duration"?
[ 2009-05-10 Howard adds: ]
The standard uses "native" in several places without defining it (e.g. 5.13.3 [lex.ccon]). It is meant to mean "that which is defined by the facility", or something along those lines. In this case it refers to the nested time_point and duration types of the clock. Better wording is welcome.
[ Batavia (2009-05): ]
Move to Open pending proposed wording from Pete.
[ 2009-10-23 Pete provides wording: ]
[ 2009-11-18 Daniel adds: ]
I see that 220.127.116.11 [thread.timedmutex.requirements]/3 says:
Precondition: If the tick period of rel_time is not exactly convertible to the native tick period, the duration shall be rounded up to the nearest native tick period.
I would prefer to see that adapted as well. Following the same style as the proposed resolution I come up with
Precondition: If the tick period of rel_time is not exactly convertible to the
nativetick period , the duration shall be rounded up to the nearest nativetick period .
[ 2010-03-28 Daniel synced wording with N3092 ]
[ Post-Rapperswil, Howard provides wording: ]
Moved to Tentatively Ready with revised wording from Howard Hinnant after 5 positive votes on c++std-lib.
[ Adopted at 2010-11 Batavia ]
Change 23.17.3 [time.clock.req]:
1 A clock is a bundle consisting of a
nativeduration, a nativetime_point, and a function now() to get the current time_point. The origin of the clock's time_point is referred to as the clock's epoch. A clock shall meet the requirements in Table 56.
Table 56 — Clock requirements Expression Return type Operational semantics C1::rep An arithmetic type or a class emulating an arithmetic type The representation type of the nativeduration and time_point. C1::period ... ... C1::duration chrono::duration<C1::rep, C1::period> The nativeduration type of the clock. C1::time_point chrono::time_point<C1> or chrono::time_point<C2, C1::duration> The nativetime_point type of the clock. C1 and C2 shall refer to the same epoch. ...