$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [modularization] Improving/splitting up detail
From: Ahmed Charles (acharles_at_[hidden])
Date: 2013-11-01 15:28:20
> From: john_at_[hidden]
> To: boost_at_[hidden]
> Date: Fri, 1 Nov 2013 19:15:17 +0000
> Subject: [boost] [modularization] Improving/splitting up detail
> 
> Lets say we wanted boost/detail to depend on nothing but config, here's what 
> it would take:
> 
> boost/detail/algorithm.hpp
> 
>     Used by graph lib only, suggest it's moved there.
> 
> boost/detail/allocator_utilities.hpp
> 
>     Used by multi index, statechart and flyweight, suggest move to new 
> "common" module.
> 
> boost/detail/atomic_count.hpp
> 
>     Depends on smart_ptr's details only, suggest those details are moved to 
> "detail" module.
> 
> boost/detail/binary_search.hpp
> 
>     Used by python and test, move to "common".
> 
> boost/detail/bitmask.hpp
> 
>     Only external dependency is boost/cstdint.hpp, either move to "common", 
> or else move cstdint.hpp to "config".
> 
> boost/detail/call_traits.hpp
> 
>     Move to call_traits (should be there already).
> 
> boost/detail/catch_exceptions.hpp
> 
>     Only external dependency is boost/cstdint.hpp, suggest latter is moved 
> to config.
> 
> boost/detail/compressed_pair.hpp
> 
>     Move to compressed pair (should be there already).
> 
> boost/detail/endian.hpp
> 
>     Move to "predef"
> 
> boost/detail/has_default_constructor.hpp
> 
>     File appears to be unused, and not very useful, suggest we remove it.
> 
> boost/detail/identifier.hpp
> 
>     File appears to be unused, suggest we remove it.
> 
> boost/detail/indirect_traits.hpp
> 
>     Used by iterator and python, move to "common"
> 
> boost/detail/is_incrementable.hpp
> 
>     Move to common, or better modify the libraies using this to use the 
> newer type_traits equivalents.
> 
> boost/detail/is_sorted.hpp
> 
>     Used by graph and range, move to "common"
> 
> boost/detail/is_xxx.hpp
> 
>     Used by parameter and python, move to "common"
> 
> boost/detail/iterator.hpp
> 
>     I suspect this may be obsolete now compiler requirements have been 
> bumped, but whatever it's still used by multiple libs: move to "common"
> 
> boost/detail/lcast_precision.hpp
> 
>     Only used by lexical_cast, move it there.
> 
> boost/detail/lightweight_mutex.hpp
> 
>     Only extern dependency is smart_ptr's details, suggest move those to 
> detail.
> 
> boost/detail/named_template_params.hpp
> 
>     Appears to be unused, suggest we remove.
> 
> boost/detail/numeric_traits.hpp
> 
>     Used by graph and iterator, move to "common"
> 
> boost/detail/ob_compressed_pair.hpp
> 
>     Move to compressed pair, might also be obsolete by now.
> 
> boost/detail/quick_allocator.hpp
> 
>     Only external dependency is smart_ptr's details, suggest those are moved 
> here.  Or since only serialization uses this, move this file there...
> 
> boost/detail/reference_content.hpp
> 
>     Used by optional and variant, move to "common".
> 
> boost/detail/winapi/*
> 
>     Depends on boost/cstdint.hpp only, suggest that belongs to config.
> 
> Everything else in detail has no dependencies other than config.
> 
> Thoughts?
These look good. My only question is: what is the "common" that you refer to? An existing library or something that will be created?