|
Boost : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-07-19 01:15:42
Rene Rivera wrote:
> > Seems wrong; standard is that it's only in std:: if you're not
> > including any of the <xxx.h> headers. You ought to look for it there
> > by default and only pluck it from the global namespace on
> > implementations that you know to be nonconforming in this regard.
> > Same with size_t.
> Perhaps the intent was to place the entire thing inside some namespace
> and hence the mbstate_t would not collide?
The story with program_options is simple. Initially it used std::mbstate_t and
had
namespace std {
using ::mbstate_t;
}
for broken compilers. Later, Pavel reported that this does not work with his
version of borland. For unknown reason, changing std::mbstate_t to just
mbstate_t fixes those failures. That's why program_options now has mbstate_t
in global scope.
I know this is not the best thing to do, but my version of borland does not
show that error, so I can't experiment with different workarounds.
- Volodya
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk