Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::trim throwing std::bad_cast exeption with custom basic_string
From: Igor R (boost.lists_at_[hidden])
Date: 2011-01-23 11:28:21


> It is still throwing an exception with boost 1.45. Since it's working
> fine with MSVC10 then something must be wrong with gcc. Here are the
> combinations which I tested so far:
>
> gcc 4.3.4 , boost 1.40
> gcc 4.4.5 , boost 1.42 and 1.45

The problem is not in gcc, but somewhere in std/crt. The exception is
thrown by std::use_facet() function, which doesn't find the locale you
passed to trim(). Since, you don't actually pass any locale, it uses
the global one, so I don't understand why it doesn't find it...
Anyway, try passing some locale explicitly, and see what happens:
boost::trim(str, std::locale("English_UK"));


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net