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
> 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.
> > - 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
> In addition or instead of
> t = year * 1990
> t / year
That will be nicer.
> > > - 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
> > currency formatting, spellout, case conversion and boundary analysis
> > have not used encoding conversion, normalization, timezone/calendar,
> > 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
> > 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.
> > 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
> > 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:
> (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
> > 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.
> > > 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.
Thank you very much for Boost.Locale!
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk