Boost logo

Boost :

From: John Maddock (jm_at_[hidden])
Date: 2002-12-21 07:40:27


> For some reason isdigit is trying to instantiate the ctype facet for
> const char, ctype<const char>. I haven't worked out the reason this
> instantiation is required, but by replacing all calls to isdigit in
> parsing.hpp with the 'equivalent' code below ( borrowed straight from
> Josutti's The Standard C++ Library ) CBuilder6 passes all format tests
> (with compiler warnings for binding non-const references to temporaries)

That situation is probably being caused by passing a const char to isdigit,
combined with a template argument deduction bug, just casting the character
to it's non-const equivalent will fix the problem:

> while(i1 < buf.size() && isdigit((Ch)buf[i1],oss_.rdbuf()->getloc()))

BTW I had to do this to all the isdigit calls to fix all the problems.

John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm


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