|
Boost : |
Subject: Re: [boost] Some statistics about the C++ 11/14 mandatory Boost libraries
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-05-13 13:51:33
On 13 May 2015 at 13:00, Edward Diener wrote:
> It is definitely worth discussing. The key is "with well documented (and
> encoded) dependencies among them".
>
> How do we do this ? '
APIBind provides a formal dependencies implementation system at the
C++ namespace level.
git submodules are an effective, if brutal, dependency fetching
implementation. They work.
> It is silly to suppose that new "Boost" libraries will be developed that
> do not depend on other already existing Boost libraries. If library X
> depends on library Y we currently know that library X will work with
> library Y for Boost distro N because we have tested them before we
> release distro N. If library X goes off with its own release schedule
> how do we determine with which versions of Y it will work when it is
> being released ?
>
> This is the crux of the matter if we have individual Boost libraries
> being released on their own.
APIBind provides a formal API versioning implementation. So library A
can depend on library X v1 and library B can depend on library X v2
and both can coexist in the same translation unit.
APIBind also allows dependency injection so users of libraries can
inject the implementations they choose. API and ABI separation and
coexistence also works as expected, including in the same translation
unit.
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk