Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Actually, I don't think the boost libraries are going to become legacy.</p> <p>Yes, you should be able to use <code>std::type_traits</code>, <code>regex</code>, <code>shared_ptr</code>, <code>unique_ptr</code>, <code>tuple&lt;&gt;</code>, <code>std::tie</code>, <code>std::begin</code> instead of Boost Typetraits/Utility, Boost Smartpointer, Boost Tuple, Boost Range libraries, but there should in practice be no real need to 'switch' unless you are moving more of your code to c++11.</p> <p>Also, in my experience, the <code>std</code> versions of most of these are somewhat less featureful. E.g. AFAICT the standard does <em>not</em> have</p> <ul> <li>Perl5 regular expressions</li> <li>call_traits</li> <li>Certain regex interface members (such as <code>bool boost::basic_regex&lt;&gt;::empty()</code>) and othe interface differences <ul> <li>this bites more since the Boost interface is exactly matched with Boost Xpressive</li> <li>and it plays much more nicely with Boost String Algorithms Obviously, the latter don't have <em>standard</em> counterparts (yet?)</li> </ul></li> <li>Many things relating to TMP (Boost Fusion)</li> <li><p>Lazy, expression template-based lambdas; they have inevitable benefits in that they <em>can</em> be polymorphic <em>today</em>, as opposed to C++11. Therefore they can often be more succinct:</p> <pre><code> std::vector&lt;int&gt; v = {1,2,-9,3}; for (auto i : v | filtered(_arg1 &gt;=0)) std::cout &lt;&lt; i &lt;&lt; "\n"; // or: boost::for_each(v, std::cout &lt;&lt; _arg1); </code></pre> <p>Most definitely, this still has some appeal over C++11 lambdas (with trailing return types, explicit capturing and declared parameters).</p></li> </ul> <p>Also, there is a BIG role for Boost, precisely in facilitating path-wise migration from C++03 to C++11 and integrating C++11 and C++03 codebases. I'm particularly thinking of</p> <ul> <li>Boost Auto (BOOST_AUTO)</li> <li>Boost Utility (<code>boost::result_of&lt;&gt;</code> and related)</li> <li>Boost Foreach (BOOST_FOREACH)</li> <li>Don't forget: Boost Move - which makes it possible to write classes with move semantics with a syntax that will compile equally well on C++03 compilers with Boost 1_48+ and C++11 compilers.</li> </ul> <p>Just my $0.02</p>
    singulars
    1. This table or related slice is empty.
    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. 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.
    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