Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-14 06:13:22


On Friday 10 December 2004 20:11, Robert Ramey wrote:

> > The "common" files will be included into a wrapper file (one for each
> > library), with different namespaceses:
> >
> > namespace boost { namespace program_options {
> > #include "../../libs/detail/utf8/utf8_codecvt.cpp"
>
> wll this work without a problem? The first lines of utf8_codecvt_facet.cpp
> (my copy) contain:
>
...
> So the above will expand to something like:
>
> namespace boost { namespace program_options {
>
> // #include "../../libs/detail/utf8/utf8_codecvt.cpp"
>
> #include <boost/config.hpp>
> #ifdef BOOST_NO_STD_WSTREAMBUF
> #error "wide char i/o not supported on this platform"
> #else
> #include <cassert>
> #include <cstddef>
> #include <boost/utf8_codecvt_facet.hpp>
>
> // } // program_options
> // } // boost
>
> which would but all the lowerlevel includes in the program options
> namespace as well. Idon't see how that can work.

I'd use:

#include <boost/config.hpp>
#ifdef BOOST_NO_STD_WSTREAMBUF
#error "wide char i/o not supported on this platform"
#else
#include <cassert>
#include <cstddef>
#include <boost/utf8_codecvt_facet.hpp>

namespace boost { namespace program_options {

    #include "../../libs/detail/utf8/utf8_codecvt.cpp"

} // program_options
} // boost

There's only single include inside namespace declaration. Also
#include <boost/utf8_codecvt_facet.hpp> will have to be changed too.

- Volodya


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