c++ - Which boost libraries are discussed for inclusion in C++17? -


for typical programming needs, c++11 great milestone — replaced 95% of boost code standard library.

yet current status of its libraries not yet covered in standard library?

i started wondering due need of signals2 , lockfree.

i won't repeat has been done concerning networking, algorithms, filesystem, variant , any. however, can discuss point signals2 , little bit more.

boost.signals2

boost.signals2 has been proposed in past n2086 inclusion tr2. more of mix between boost.signals2 , libsigc++. have read, people rather favorable inclusion of signals standard, paper needed more work , work has never been finished [citation needed].

now, more work should done in order adapt paper suits c++17, if task, signals still candidate inclusion.

boost.container

don't me wrong, boost.container has not been proposed inclusion c++17 whole. however, library does have influence on proposals. here why:

  • n4510 proposes of standard containers can contain incomplete types can have "recursive" types. here minimal example straight paper:

    struct entry {     std::list<entry> messages;     // ... }; 

    the paper proposes std::vector, std::list , std::forward_list have these requirements gcc, clang , msvc libraries c++17-standard-compliant out of box, , encourages them implement other standard containers can fit idiom. kind of recursive containers 1 of first improvements brought boost.container on standard library containers.

  • n4526 discusses concerns of game industry , embedded industry c++ , standard library. among other things, notes many people waiting write paper propose inclusion of boost::flat_map , boost::flat_set boost.container standard library. while might not written @ all, or @ least not in time c++17, well-written paper accepted. update: p0038 proposes consider inclusion of flat containers standard library.

boost.algorithm

while library new (2012, boost 1.50) helped shape new algorithms have been included in library fundamentals ts and/or in c++17:

  • n4536 , p0025 propose standardize clamp function clamp value between pair of boundary values. proposals mention clamp function boost.algorithm source of inspiration design.

  • n3905 , subsequent papers aimed @ fixing design mistake propose standardize new searching algorithms, notably boyer-moore , boyer-moore-horspool string searching algorithms, have lived in boost.algorithm since creation.

miscellaneous things

a list of other features boost discussed or have influenced proposals:

  • it didn't make c++14, std::optional, inspired boost.optional, should make c++17 without problem.

  • the special math functions merged c++17. these functions part of tr1 , boost.math has included them years already.

  • std::not_fn merged c++17 , has lived in boost years.

  • p0013 proposes add metafunctions and_, or_ , not_ standard library , cites boost.mpl 1 of standard libraries having implemented such features long time. update: adopted in c++17 std::conjunction, std::disjunction , std::negation.

  • p0033 states std::enable_shared_from_this weakly specified , recommends standardizing same behavior boost's version of utility. proposes standardize boost::weak_from_this complete family.

  • many of proposed concurrency features in boost (std::barrier, std::latch...). however, should noted have been implemented in boost because have been proposed inclusion standard library. once, worked other way around. that's case modifications other existing classes.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -