Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Replaceable by C++11 language features or libraries</p> <ul> <li><a href="http://www.boost.org/doc/libs/release/doc/html/foreach.html" rel="noreferrer">Foreach</a> → <a href="http://en.cppreference.com/w/cpp/language/range-for" rel="noreferrer">range-based for</a></li> <li><a href="http://www.boost.org/doc/libs/release/libs/functional/forward" rel="noreferrer">Functional/Forward</a> → Perfect forwarding (with <a href="http://en.cppreference.com/w/cpp/language/reference" rel="noreferrer">rvalue references</a>, <a href="http://en.cppreference.com/w/cpp/language/parameter_pack" rel="noreferrer">variadic templates</a> and <a href="http://en.cppreference.com/w/cpp/utility/forward" rel="noreferrer">std::forward</a>)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/utility/in_place_factories.html" rel="noreferrer">In Place Factory, Typed In Place Factory</a> → Perfect forwarding (at least for the documented use cases)</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/lambda.html" rel="noreferrer">Lambda</a> → <a href="http://en.cppreference.com/w/cpp/language/lambda" rel="noreferrer">Lambda expression</a> (in non-polymorphic cases)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/local_function" rel="noreferrer">Local function</a> → Lambda expression</li> <li><a href="http://www.boost.org/doc/libs/release/libs/algorithm/minmax/" rel="noreferrer">Min-Max</a> → <a href="http://en.cppreference.com/w/cpp/algorithm/minmax" rel="noreferrer">std::minmax</a>, <a href="http://en.cppreference.com/w/cpp/algorithm/minmax_element" rel="noreferrer">std::minmax_element</a></li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/ratio.html" rel="noreferrer">Ratio</a> → <a href="http://en.cppreference.com/w/cpp/numeric/ratio/ratio" rel="noreferrer">std::ratio</a></li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/boost_staticassert.html" rel="noreferrer">Static Assert</a> → static_assert</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/thread.html" rel="noreferrer">Thread</a> → &lt;thread&gt;, etc (but check <a href="https://stackoverflow.com/questions/7241993/is-it-smart-to-replace-boostthread-and-boostmutex-with-c11-equivalents">this question</a>).</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/typeof.html" rel="noreferrer">Typeof</a> → auto, decltype</li> <li><a href="http://www.boost.org/doc/libs/release/libs/utility/value_init.htm" rel="noreferrer">Value initialized</a> → List-initialization (§8.5.4/3)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/math/doc/html/special.html" rel="noreferrer">Math/Special Functions</a> → <code>&lt;cmath&gt;</code>, see the list below <ul> <li>gamma function (tgamma), log gamma function (lgamma)</li> <li>error functions (erf, erfc)</li> <li><code>log1p</code>, <code>expm1</code></li> <li><code>cbrt</code>, <code>hypot</code></li> <li><code>acosh</code>, <code>asinh</code>, <code>atanh</code></li> </ul></li> </ul> <p>TR1 (they are marked in the <a href="http://www.boost.org/doc/libs/release/?view=filtered_std-tr1" rel="noreferrer">documentation</a> if those are TR1 libraries)</p> <ul> <li><a href="http://www.boost.org/doc/libs/release/doc/html/array.html" rel="noreferrer">Array</a> → std::array</li> <li><a href="http://www.boost.org/doc/libs/release/libs/bind/doc/html/bind.html" rel="noreferrer">Bind</a> → std::bind</li> <li><a href="http://www.boost.org/doc/libs/release/libs/core/doc/html/core/enable_if.html" rel="noreferrer">Enable If</a> → std::enable_if</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/function.html" rel="noreferrer">Function</a> → std::function</li> <li><a href="http://www.boost.org/doc/libs/release/libs/bind/doc/html/mem_fn.html" rel="noreferrer">Member Function</a> → std::mem_fn</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/boost_random.html" rel="noreferrer">Random</a> → &lt;random&gt;</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/ref.html" rel="noreferrer">Ref</a> → std::ref, <a href="http://en.cppreference.com/w/cpp/utility/functional/ref" rel="noreferrer">std::cref</a></li> <li><a href="http://www.boost.org/doc/libs/release/libs/regex" rel="noreferrer">Regex</a> → &lt;regex&gt;</li> <li><a href="http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of" rel="noreferrer">Result Of</a> → <a href="http://en.cppreference.com/w/cpp/types/result_of" rel="noreferrer">std::result_of</a></li> <li><a href="http://www.boost.org/doc/libs/release/libs/smart_ptr/" rel="noreferrer">Smart Ptr</a> → std::unique_ptr, std::shared_ptr, std::weak_ptr (but boost::intrusive_ptr still cannot be replaced)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/utility/swap.html" rel="noreferrer">Swap</a> (swapping arrays) → std::swap</li> <li><a href="http://www.boost.org/doc/libs/release/libs/tuple" rel="noreferrer">Tuple</a> → std::tuple</li> <li><a href="http://www.boost.org/doc/libs/release/libs/type_traits" rel="noreferrer">Type Traits</a> → &lt;type_traits&gt;</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/unordered.html" rel="noreferrer">Unordered</a> → &lt;unordered_set&gt;, &lt;unordered_map&gt;</li> </ul> <p>Features back-ported from C++11:</p> <ul> <li><a href="http://www.boost.org/doc/libs/release/doc/html/atomic.html" rel="noreferrer">Atomic</a> ← std::atomic </li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/chrono.html" rel="noreferrer">Chrono</a> ← &lt;chrono&gt; (see below)</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/move.html" rel="noreferrer">Move</a> ← Rvalue references</li> </ul> <p>Replaceable by C++17 language features:</p> <ul> <li><a href="http://www.boost.org/doc/libs/release/libs/utility/doc/html/string_ref.html" rel="noreferrer">String_ref</a> → std::string_view</li> <li><a href="http://www.boost.org/doc/libs/release/libs/filesystem" rel="noreferrer">Filesystem</a> → <a href="http://en.cppreference.com/w/cpp/filesystem" rel="noreferrer">&lt;filesystem&gt;</a> (Filesystem TS)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/optional" rel="noreferrer">Optional</a> → std::optional (<a href="https://isocpp.org/files/papers/p0220r1.html" rel="noreferrer">Library Fundamentals TS v1</a>)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/any" rel="noreferrer">Any</a> → std::any (Library Fundamentals TS v1)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/math/doc/html/special.html" rel="noreferrer">Math/Special Functions</a> → <code>&lt;cmath&gt;</code> (<a href="http://en.cppreference.com/w/cpp/numeric/special_math" rel="noreferrer">Special Math IS</a>), see the list below <ul> <li>beta function</li> <li>(normal / associated / spherical) Legendre polynomials</li> <li>(normal / associated) Legendre polynomials </li> <li>Hermite polynomials</li> <li>Bessel (J / Y / I / K) functions (Y is called Neumann function in C++)</li> <li>spherical Bessel (j / y) functions</li> <li>(incomplete / complete) elliptic integrals of (first / second / third kind)</li> <li>Riemann zeta function</li> <li>exponential integral Ei</li> </ul></li> <li><a href="http://www.boost.org/doc/libs/release/libs/variant/" rel="noreferrer">Variant</a> → std::variant (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r2.html" rel="noreferrer">P0088R2</a>)</li> </ul> <p>The standard team is still working on it:</p> <ul> <li><a href="http://www.boost.org/doc/libs/release/libs/math/doc/html/gcd_lcm.html" rel="noreferrer">Math Common Factor</a> → std::experimetal::gcd, lcm (Library Fundamentals TS v2)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/concept_check" rel="noreferrer">Concept check</a> → Concepts TS</li> <li><a href="http://www.boost.org/doc/libs/release/libs/range/" rel="noreferrer">Range</a> → Range TS</li> <li><a href="http://www.boost.org/doc/libs/release/doc/html/boost_asio.html" rel="noreferrer">Asio</a> → Networking TS (sockets and timers only)</li> <li><a href="http://www.boost.org/doc/libs/release/libs/multiprecision" rel="noreferrer">Multiprecision</a> → Numerics TS</li> <li><a href="http://www.boost.org/doc/libs/release/libs/coroutine" rel="noreferrer">Coroutine</a>/<a href="http://www.boost.org/doc/libs/release/libs/coroutine2" rel="noreferrer">Coroutine2</a> → Coroutines TS</li> </ul> <p>A large part of <a href="http://www.boost.org/doc/libs/release/libs/mpl/doc/index.html" rel="noreferrer">MPL</a> can be trimmed down or removed using variadic templates. Some common use cases of <a href="http://www.boost.org/doc/libs/release/doc/html/boost_lexical_cast.html" rel="noreferrer">Lexical cast</a> can be replaced by std::to_string and std::sto<i>X</i>.</p> <p>Some Boost libraries are related to C++11 but also have some more extensions, e.g. <a href="http://www.boost.org/doc/libs/release/doc/html/hash.html" rel="noreferrer">Boost.Functional/Hash</a> contains <a href="http://www.boost.org/doc/libs/release/doc/html/hash/combine.html" rel="noreferrer">hash_combine</a> and related functions not found in C++11, <a href="http://www.boost.org/doc/libs/release/doc/html/chrono.html" rel="noreferrer">Boost.Chrono</a> has I/O and rounding and many other clocks, etc. so you may still want to take a look at the boost ones before really dismissing them.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload