Changes between Version 33 and Version 34 of BestPracticeHandbook


Ignore:
Timestamp:
May 30, 2015, 8:07:31 PM (7 years ago)
Author:
Niall Douglas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BestPracticeHandbook

    v33 v34  
    15211521If the last section was somewhat speculative due to the present uncertainties about the future developments in C++, these remaining two sections are almost entirely discussion pieces as they have no known good answers. Consider them therefore more as food for thought rather than recommendations.
    15221522
     1523A very frequently heard request on boost-dev and boost-users is for Boost to become "modular", where modularity can mean quite a few different things depending on the claimant. Here are some of the more common meanings of "modularity":
     1524
     15251. I would like Boost (as a whole) to have fewer system requirements (minimum compiler versions, minimum OS support etc). This is usually really an argument in favour of better support for either legacy platforms and/or embedded or games systems, but do note the distinction for later.
     1526
     15272. I would like to use my favourite Boost libraries without needing the entire distribution to be available.
     1528
     15293. I would like to download my favourite Boost libraries and only their strict dependencies within Boost without having to download or even consider during build or configuration any unnecessary other Boost libraries (i.e. the package manager argument).
     1530
     15314. I would like to use my favourite Boost library using the Standard C++ Library facilities that come with C++ 11 instead of being forced into using Boost near equivalents (i.e. I get annoyed dealing with mixes of `std::future` and `boost::future`).
     1532
     15335. I would like to drop my favourite Boost library/libraries into my project as a single giant include file with no need to worry about Boost.Build or any build system or even dealing with a Boost source control system.
     1534
     1535
    15231536I'm going to argue in favour of defaulting your C++ 11/14 libraries to use no external dependencies i.e. any C++ headers not in your git repository and not in the STL, which includes Boost. External dependencies do ''''not'''' include any git submodules you may have in your git repository, so if your user types:
    15241537