Boost logo

Boost :

Subject: Re: [boost] [locale] Formal review of Boost.Locale library -- final days
From: Gevorg Voskanyan (v_gevorg_at_[hidden])
Date: 2011-04-24 14:34:05


Artyom wrote:

> As it was common request that was shared by several reviewers
> I'll take a look on it. And I'll also take a look on
> regex like interface that may actually be relevant for
> this case.

OK.

> > - Operator overloading is sometimes used in unintuitive ways. For example
> > operator/ used to get the value for a specific period type
> >
>
> I'll also update a little date_time the interface to be consistent
> with other boost libraries, for example to get
>
> year(t)
> t=year(1990);
>
> In addition or instead of
>
> t = year * 1990
> t / year

That will be nicer.

[snip]

> > > - Did you try to use the library? With what compiler? Did you have any
> > > problems?
> >
> > I have played with the library using number/ordinal formatting, date
> >formatting,
> >
> > currency formatting, spellout, case conversion and boundary analysis
>features.
>
> >
> >I
> >
> > have not used encoding conversion, normalization, timezone/calendar,
>(message)
>
> >
> >
> > formatting and collation features. I have used ICU backend only.
> >
> > Environment:
> > FreeBSD 8.0
> > g++ 4.5.0 in C++03 mode
> > ICU 3.8.1 system-wide installation
> >
> > What I used was intuitive and easy, except for boundary analysis as noted
> >above.
> >
> > I had some incorrect results most of which I believe are ICU issues.
> > Some which I'm not so sure about though:
> > - output of as::local_time was wrong by 2 hours; as::gmt was correct.
> >Moreover,
> >
> > as::date printed the yesterday's date when the local time was 2:24 AM !
> > /bin/date shows correct local time, so I believe my system time zone
>settings
>
>
>
> > are fine.
>
> This is problem with older ICU versions. ICU had included
> several bugs in the local time zone detection. I assume that
> the test test_icu_of_os_timezone fails.

Indeed, and it's the only failing test.

> I've seen things things on FreeBSD:
>
> http://art-blog.no-ip.info/files/nightly-build-report.html
>
> (Even it is not tested under Boost namespace it still catches
> the problems)
>
> What you need is latest ICU. It had several fixes
> of timezone detection in 4.6 and this version works
> fine and passes all the tests.
>
> So I recommend you to use it with ICU 4.6 on FreeBSD.
>
> There is a some workaround I implemented for Linux for
> other problem of detecting timezone as "localtime" but
> it seems that on FreeBSD it is other issue as it
> has little bit different timezone handling.

Ok, thanks for the info, it helps.

> > - "Note: not all locales provide rules for spelling numbers. In such a case
>
>
> >the
> >
> > number would be displayed in decimal format." This was not the case:
>
>
> > std::cout << as::spellout << 117 << std::endl; printed "one hundred and
> > seventeen" under hy_AM.UTF-8 locale.
>
>
> I'll take a look on this, it may be either CLDR issue or ICU mis-detecting
> hy_AM locale.

Thanks :)

> > > And finally, every review should answer this question:
> > >
> > > - Do you think the library should be accepted as a Boost library?
> >
> > Yes.
>
>
> Thank you very much for the review.
>
> Artyom

Thank you very much for Boost.Locale!

Best Regards,
Gevorg


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