A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue4067 below:

Inconsistency and potential infinity meta-recursion in std::chrono::zoned_time's constructors

-?- Let locatable-as-tzptr be true if given an lvalue sv of type string_view, traits::locate_zone(sv) is well-formed and TimeZonePtr is implicitly convertible from its return type, and false otherwise. Only the validity of the immediate context of the invocation and conversion is considered.

-?- In every constructor that takes a string_view parameter name, let converted-tzptr be a variable of type TimeZonePtr that is copy-initialized from traits::locate_zone(name). […]
explicit zoned_time(string_view name);

-7- Constraints: traits::locate_zone(string_view{}) is a well-formed expression and zoned_time is constructible from the return type of traits::locate_zone(string_view{}) locatable-as-tzptr is true.

-8- Effects: Initializes zone_ with traits::locate_zone(name) and default constructs tp_.

[…]

zoned_time(string_view name, const sys_time<Duration>& st);

-13- Constraints: zoned_time is constructible from the return type of traits::locate_zone(name) and st locatable-as-tzptr is true.

-14- Effects: Equivalent to construction with { traits::locate_zone(name) std::move(converted-tzptr), st}.

[…]

zoned_time(string_view name, const local_time<Duration>& tp);

-18- Constraints: locatable-as-tzptr is true andzoned_time is constructible from the return type of traits::locate_zone(name) TimeZonePtr and tp.

-19- Effects: Equivalent to construction with { traits::locate_zone(name) std::move(converted-tzptr), tp}.

[…]

zoned_time(string_view name, const local_time<Duration>& tp, choose c);

-23- Constraints: locatable-as-tzptr is true andzoned_time is constructible from the return type of traits::locate_zone(name) TimeZonePtr, local_time<Duration>, and choose.

-24- Effects: Equivalent to construction with { traits::locate_zone(name) std::move(converted-tzptr), tp, c}.

[…]

template<class Duration2, class TimeZonePtr2>
  zoned_time(string_view name, const zoned_time<Duration2, TimeZonePtr2>& y);

-32- Constraints: locatable-as-tzptr is true andzoned_time is constructible from the return type of traits::locate_zone(name) TimeZonePtr and the type zoned_time<Duration2, TimeZonePtr2>.

-33- Effects: Equivalent to construction with { traits::locate_zone(name) std::move(converted-tzptr), y}.
template<class Duration2, class TimeZonePtr2>
  zoned_time(string_view name, const zoned_time<Duration2, TimeZonePtr2>& y, choose c);

-34- Constraints: locatable-as-tzptr is true andzoned_time is constructible from the return type of traits::locate_zone(name) TimeZonePtr, the type zoned_time<Duration2, TimeZonePtr2>, and the type choose.

-35- Effects: Equivalent to construction with { traits::locate_zone(name) std::move(converted-tzptr), y, c}.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4