John Maddock wrote:
Unfortunately bcp isn't smart enough to not look into optional dependencies that are guarded by #ifdef. In this particular case it follows the dependency to detail/quick_allocator.hpp, which in turn brings in the type_traits and mpl libraries. But quick_allocator.hpp is only used if you #define BOOST_SP_USE_QUICK_ALLOCATOR.
Peter, this comes up so often, I wonder is it worth while "hiding" that optional dependency behind a #define, as in:
#define BOOST_SP_QA
#ifdef BOOST_SP_USE_QUICK_ALLOCATOR #include BOOST_SP_QA #endif
Of course I have no data on how often that dependency is actually needed (or not).
How about something along the lines of:
bcp boost/shared_ptr.hpp --exclude=quick_allocator.hpp
Or:
#ifdef BOOST_SP_USE_QUICK_ALLOCATOR
//@bcp optional "quick_allocator is only used if explicitly requested"
#include