Boost logo

Boost :

From: Jeremy Maitin-Shepard (jbms_at_[hidden])
Date: 2004-04-12 12:08:15

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.

Regardless of your interpretation of that statement, I think we agree
on this issue: ICU provides the desired Unicode facilities, but its C++
interface is not satisfactory.

Jeremy Maitin-Shepard

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