Boost logo

Boost :

Subject: Re: [boost] [chrono/date] year/day/week literals
From: TONGARI (tongari95_at_[hidden])
Date: 2013-05-04 11:16:43


2013/5/4 Rob Stewart <robertstewart_at_[hidden]>

> On May 3, 2013, at 6:06 AM, "Vicente J. Botet Escriba" <
> vicente.botet_at_[hidden]> wrote:
>
> > Le 03/05/13 12:01, Vicente J. Botet Escriba a écrit :
> >>
> >>
> >> Everyone agree with the constant object for month.
> >>
> >> date dt(year(2013), may, day(3));
> >>
> >> But having to use day(3) or year(2013) seems to wordy.
> >>
> >> I was wondering if we can not add some literals for day, year and week
> so that we can just write
> >>
> >> date dt(2013y, may, 3d);
> >>
> >> The advantage I see in addition to been less wordy, is that we will
> have a compile error when the year, day or week is out of range.
> > Oh I forget the drawbacks. As any other suffix it would need to add a
> using statement
> >
> > using boost::chrono::dates::literals;
>
> That alone negates the wordiness argument. Few will type "day()" enough
> times, in a file, to offset that using directive.
>
> > date dt(2013y, may, 3d);
>
> The number first order, and need for an underscore, is ugly to me. I'd
> prefer constants of the form dayN to this.
>

Unfortunately '_' is required by the standard for a user-defined literal.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk