call from_stream explicitly from date namespace (#677)

Co-authored-by: Julian Zimmermann <Julian.Zimmermann@gti.de>
This commit is contained in:
JulZimmermann
2021-05-31 18:54:11 +02:00
committed by GitHub
parent 8f95c598c9
commit 8c126525cc

View File

@@ -7891,7 +7891,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, year& y,
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.year().ok()) if (!fds.ymd.year().ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7907,7 +7907,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, month& m,
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.month().ok()) if (!fds.ymd.month().ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7923,7 +7923,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, day& d,
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.day().ok()) if (!fds.ymd.day().ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7939,7 +7939,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, weekday& wd
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.wd.ok()) if (!fds.wd.ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7955,7 +7955,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, year_month&
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.month().ok()) if (!fds.ymd.month().ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7971,7 +7971,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt, month_day&
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.month().ok() || !fds.ymd.day().ok()) if (!fds.ymd.month().ok() || !fds.ymd.day().ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -7987,7 +7987,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
{ {
using CT = std::chrono::seconds; using CT = std::chrono::seconds;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.ok()) if (!fds.ymd.ok())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -8007,7 +8007,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
auto offptr = offset ? offset : &offset_local; auto offptr = offset ? offset : &offset_local;
fields<CT> fds{}; fields<CT> fds{};
fds.has_tod = true; fds.has_tod = true;
from_stream(is, fmt, fds, abbrev, offptr); date::from_stream(is, fmt, fds, abbrev, offptr);
if (!fds.ymd.ok() || !fds.tod.in_conventional_range()) if (!fds.ymd.ok() || !fds.tod.in_conventional_range())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -8025,7 +8025,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
using detail::round_i; using detail::round_i;
fields<CT> fds{}; fields<CT> fds{};
fds.has_tod = true; fds.has_tod = true;
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.ymd.ok() || !fds.tod.in_conventional_range()) if (!fds.ymd.ok() || !fds.tod.in_conventional_range())
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -8043,7 +8043,7 @@ from_stream(std::basic_istream<CharT, Traits>& is, const CharT* fmt,
using Duration = std::chrono::duration<Rep, Period>; using Duration = std::chrono::duration<Rep, Period>;
using CT = typename std::common_type<Duration, std::chrono::seconds>::type; using CT = typename std::common_type<Duration, std::chrono::seconds>::type;
fields<CT> fds{}; fields<CT> fds{};
from_stream(is, fmt, fds, abbrev, offset); date::from_stream(is, fmt, fds, abbrev, offset);
if (!fds.has_tod) if (!fds.has_tod)
is.setstate(std::ios::failbit); is.setstate(std::ios::failbit);
if (!is.fail()) if (!is.fail())
@@ -8096,14 +8096,14 @@ std::basic_istream<CharT, Traits>&
operator>>(std::basic_istream<CharT, Traits>& is, operator>>(std::basic_istream<CharT, Traits>& is,
const parse_manip<Parsable, CharT, Traits, Alloc>& x) const parse_manip<Parsable, CharT, Traits, Alloc>& x)
{ {
return from_stream(is, x.format_.c_str(), x.tp_, x.abbrev_, x.offset_); return date::from_stream(is, x.format_.c_str(), x.tp_, x.abbrev_, x.offset_);
} }
template <class Parsable, class CharT, class Traits, class Alloc> template <class Parsable, class CharT, class Traits, class Alloc>
inline inline
auto auto
parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp) parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(),
format.c_str(), tp), format.c_str(), tp),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp})
{ {
@@ -8115,7 +8115,7 @@ inline
auto auto
parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp, parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp,
std::basic_string<CharT, Traits, Alloc>& abbrev) std::basic_string<CharT, Traits, Alloc>& abbrev)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(),
format.c_str(), tp, &abbrev), format.c_str(), tp, &abbrev),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev})
{ {
@@ -8127,7 +8127,7 @@ inline
auto auto
parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp, parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp,
std::chrono::minutes& offset) std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(),
format.c_str(), tp, format.c_str(), tp,
std::declval<std::basic_string<CharT, Traits, Alloc>*>(), std::declval<std::basic_string<CharT, Traits, Alloc>*>(),
&offset), &offset),
@@ -8141,7 +8141,7 @@ inline
auto auto
parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp, parse(const std::basic_string<CharT, Traits, Alloc>& format, Parsable& tp,
std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset) std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(),
format.c_str(), tp, &abbrev, &offset), format.c_str(), tp, &abbrev, &offset),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset})
{ {
@@ -8154,7 +8154,7 @@ template <class Parsable, class CharT>
inline inline
auto auto
parse(const CharT* format, Parsable& tp) parse(const CharT* format, Parsable& tp)
-> decltype(from_stream(std::declval<std::basic_istream<CharT>&>(), format, tp), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT>&>(), format, tp),
parse_manip<Parsable, CharT>{format, tp}) parse_manip<Parsable, CharT>{format, tp})
{ {
return {format, tp}; return {format, tp};
@@ -8164,7 +8164,7 @@ template <class Parsable, class CharT, class Traits, class Alloc>
inline inline
auto auto
parse(const CharT* format, Parsable& tp, std::basic_string<CharT, Traits, Alloc>& abbrev) parse(const CharT* format, Parsable& tp, std::basic_string<CharT, Traits, Alloc>& abbrev)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format, -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format,
tp, &abbrev), tp, &abbrev),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev})
{ {
@@ -8175,7 +8175,7 @@ template <class Parsable, class CharT>
inline inline
auto auto
parse(const CharT* format, Parsable& tp, std::chrono::minutes& offset) parse(const CharT* format, Parsable& tp, std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT>&>(), format, -> decltype(date::from_stream(std::declval<std::basic_istream<CharT>&>(), format,
tp, std::declval<std::basic_string<CharT>*>(), &offset), tp, std::declval<std::basic_string<CharT>*>(), &offset),
parse_manip<Parsable, CharT>{format, tp, nullptr, &offset}) parse_manip<Parsable, CharT>{format, tp, nullptr, &offset})
{ {
@@ -8187,7 +8187,7 @@ inline
auto auto
parse(const CharT* format, Parsable& tp, parse(const CharT* format, Parsable& tp,
std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset) std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format, -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format,
tp, &abbrev, &offset), tp, &abbrev, &offset),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset})
{ {
@@ -8202,7 +8202,7 @@ template <class Parsable, class CharT, class Traits>
inline inline
auto auto
parse(std::basic_string_view<CharT, Traits> format, Parsable& tp) parse(std::basic_string_view<CharT, Traits> format, Parsable& tp)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(), tp), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(), tp),
parse_manip<Parsable, CharT, Traits>{format, tp}) parse_manip<Parsable, CharT, Traits>{format, tp})
{ {
return {format, tp}; return {format, tp};
@@ -8213,7 +8213,7 @@ inline
auto auto
parse(std::basic_string_view<CharT, Traits> format, parse(std::basic_string_view<CharT, Traits> format,
Parsable& tp, std::basic_string<CharT, Traits, Alloc>& abbrev) Parsable& tp, std::basic_string<CharT, Traits, Alloc>& abbrev)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(),
tp, &abbrev), tp, &abbrev),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev})
{ {
@@ -8224,7 +8224,7 @@ template <class Parsable, class CharT, class Traits>
inline inline
auto auto
parse(std::basic_string_view<CharT, Traits> format, Parsable& tp, std::chrono::minutes& offset) parse(std::basic_string_view<CharT, Traits> format, Parsable& tp, std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(),
tp, std::declval<std::basic_string<CharT, Traits>*>(), &offset), tp, std::declval<std::basic_string<CharT, Traits>*>(), &offset),
parse_manip<Parsable, CharT, Traits>{format, tp, nullptr, &offset}) parse_manip<Parsable, CharT, Traits>{format, tp, nullptr, &offset})
{ {
@@ -8236,7 +8236,7 @@ inline
auto auto
parse(std::basic_string_view<CharT, Traits> format, Parsable& tp, parse(std::basic_string_view<CharT, Traits> format, Parsable& tp,
std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset) std::basic_string<CharT, Traits, Alloc>& abbrev, std::chrono::minutes& offset)
-> decltype(from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(), -> decltype(date::from_stream(std::declval<std::basic_istream<CharT, Traits>&>(), format.data(),
tp, &abbrev, &offset), tp, &abbrev, &offset),
parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset}) parse_manip<Parsable, CharT, Traits, Alloc>{format, tp, &abbrev, &offset})
{ {