Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-04-12 06:35:05

Miro Jurisic <macdev_at_[hidden]> writes:

> In article <8765c5yl77.fsf_at_[hidden]>, Jeremy Maitin-Shepard <jbms_at_[hidden]>
> wrote:
>> The IBM International Components for Unicode (ICU) library
>> ( is an existing C++ library with what
>> appears to be a Boost-compatible license, which provides all or most of
>> the Unicode support that would be desired in Boost or the C++ standard
>> library, in addition to Unicode-equivalents of libraries already either
>> in the standard library or in Boost, including number/currency
>> formatting, date formatting, message formatting, and a regular
>> expression library. Unfortunately, it does not use C++ exceptions to
>> signal exceptional conditions (but rather it uses an error code return
>> mechanism), it does not follow Boost naming conventions, and although
>> there are some C++-specific facilities, most of the C++ API is the same
>> as the C API, thus resulting in a less-than-optimal C++ interface.
> I don't agree with the statement that ICU "provides all or most of the Unicode
> support that would be desired in Boost or the C++ standard library", based on
> the fact that ICU does not use exceptions and does not provide STL iterator
> access to Unicode strings (as far as I know). To me this means that a new
> library is needed (its implementation can be based on ICU, linked to ICU, etc)
> or a substantial change to ICU is needed. My preference lies with a boost
> library that leverages ICU as much as possible without compromising any of the
> features that I would consider critical for a boost Unicode library.

Semantic details of the statement aside, I do hope somebody or
somebodies tackle the problem. As has been made extra-obvious here
recently, there are more issues with unicode and internationalization
than most of us can grasp, and the only way I'm going to be effective
with Unicode is if I have an effective library with the right

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at