I was under the impression that the boost bcp, with the namespace option, was meant to rename the includes and defines for any listed modules. Upon running the tool and examining the output, it doesn't seem to do that. How am I to redistribute these if they still #include <boost/*>
and expect the end-user's #include <boost/*>
not to cause a version conflict? Does it just wrap these with namespace closures?
I used the following bcp command:
.\boost_1_53_0\dist\bin\bcp.exe --boost=boost_1_53_0 --namespace=myboost --namespace-alias smart_ptr filesystem array.hpp container move ptr_container algorithm/string.hpp tokenizer.hpp thread chrono atomic foreach.hpp build myboost
A quick grep of a file yeilds:
[boost]grep -e "boost/" algorithm\string.hpp
grep -e "boost/" algorithm\string.hpp
#include <boost/algorithm/string/std_containers_traits.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/find.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/join.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/algorithm/string/erase.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/find_iterator.hpp>
I am pretty certain that this is the use case for the bcp tool with the namespace options, however, I'm clearly misunderstanding some common C++ concept/usage, right? Or, perhaps, I am using the tool incorrectly?
Thanks in advance for any insight.