
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