Boost logo

Boost :

From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2004-06-29 22:01:43


> I dare say that Boost.Test should avoid dependencies on boost
> libraries. I would suggest isolating the MPL dependencies even if
> that means re-implementing the parts that it uses. Boost.Test is
> special and avoiding cyclic dependency will help us not go insane.

> Joel de Guzman

At the moment Boost.Test directly depends on:

boost/call_traits.hpp
boost/config.hpp
boost/config/auto_link.hpp
boost/cstdlib.hpp
boost/current_function.hpp
boost/detail/workaround.hpp
boost/function/function0.hpp
boost/function/function1.hpp
boost/limits.hpp
boost/mem_fn.hpp
boost/mpl/for_each.hpp
boost/mpl/identity.hpp
boost/preprocessor/arithmetic/add.hpp
boost/preprocessor/repetition/repeat.hpp
boost/preprocessor/seq/for_each.hpp
boost/progress.hpp
boost/scoped_ptr.hpp
boost/shared_ptr.hpp
boost/type.hpp
boost/type_traits/add_const.hpp
boost/type_traits/add_pointer.hpp
boost/utility.hpp
boost/utility/addressof.hpp
boost/utility/base_from_member.hpp
boost/version.hpp

Actually MPL and Boost.Function dependency is not critical yet since it does
not affect library compilation and used only for extensions. But I
definitely is not going to reimplement all above headers.
   Don't forget that Boost.Test among other things is standalone library and
in may have need for use some existent core components. I wanted to propose
to introduce macro BOOST_INTERNAL_TEST. If this macro is defined I will try
to ifdef out optional dependencies. Boost libraries authors may define this
symbol. Though In general I do not see anything wrong with Boost.Test
dependencies on other boost components unless it introduce loops: Boost.Test
depends on component that uses Boost.Test for unit testing. I believe it
resolvable by using different layers of Boost.Test or with macro proposition
above.
  In a near future I plan to use boost::optional, iterator_facade
boost::lexical_cast and probably boost::function and boost::bind. And I am
sure dependency keep grow. My only limitation is that it should work on all
platforms where we perform regression testing.

Regards,

Gennadiy.


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