<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>C9 Lectures: Stephan T Lavavej - Advanced STL  - Channel 9</title>
    <atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed"></atom:link>
    <itunes:summary>As promised, the great Stephan T. Lavavej is back! &amp;nbsp; Tens of thousands of you have watched STL&#39;s (those are his initials, so that&#39;s what we call him) introductory series on the STL, or Standard Template Library. If you haven&#39;t, you should. This series, Advanced STL, will cover the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and able to pay attention! </itunes:summary>
    <itunes:author>Microsoft</itunes:author>
    <itunes:subtitle></itunes:subtitle>
    <image>
      <url>http://files.channel9.msdn.com/thumbnail/5170eefa-f5c7-4056-ac34-7b012e13b54d.png</url>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL  - Channel 9</title>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL</link>
    </image>
    <itunes:image href="http://files.channel9.msdn.com/thumbnail/5170eefa-f5c7-4056-ac34-7b012e13b54d.png"></itunes:image>
    <itunes:category text="Technology"></itunes:category>
    <description>As promised, the great Stephan T. Lavavej is back! &amp;nbsp; Tens of thousands of you have watched STL&#39;s (those are his initials, so that&#39;s what we call him) introductory series on the STL, or Standard Template Library. If you haven&#39;t, you should. This series, Advanced STL, will cover the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and able to pay attention! </description>
    <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL</link>
    <language>en</language>
    <pubDate>Sat, 25 May 2013 00:31:06 GMT</pubDate>
    <lastBuildDate>Sat, 25 May 2013 00:31:06 GMT</lastBuildDate>
    <generator>Rev9</generator>
    <c9:totalResults>6</c9:totalResults>
    <c9:pageCount>1</c9:pageCount>
    <c9:pageSize>100</c9:pageSize>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 6 of 6</title>
      <description><![CDATA[<p>There are two STLs: the <em>Standard Template Library</em> and <em>Stephan T. Lavavej </em><img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9" alt="Smiley"></p><p><strong>Advanced STL </strong>covers the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.</p><p>This is a <em>very</em> special episode—it was driven by <strong>you</strong>!</p><p>In Part 5, Niner <a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n#c634428085870000000" target="_blank">KerrekSB commented that a great topic for this advanced series would be developing a generic mechanism for printing out STL containers</a> (like a vector of ints). <a href="http://channel9.msdn.com/Forums/TechOff/Templated-STL-container-pretty-printer" target="_blank">Then Sven Groot helped out with his usual brilliance</a>. I love this Niner interaction!</p><p>You got STL to lecture on this stuff! That is HUGE <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /></p><p>In fact, STL was so impressed that he decided to try it out himself and see how generic he could make it. He uses only those STL features available in VC10 SP1 (for example, <em>variadic templates</em> are not used in his solution because the feature is not implemented in VC 2010 SP1...).</p><p>What did Stephan come up with? <strong><a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292" target="_blank">Get STL's PrettyPrinter implementation</a></strong>, then watch this great episode to learn the details behind the code. Thanks STL, KerrekSB, and Sven Groot for an excellent exercise!</p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p><p><br><strong>Watch STL's great </strong><strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej">introductory series on the STL</a></strong></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:295118b3c81649cda8fb9f1801173c0d">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n</comments>
      <itunes:summary>There are two STLs: the Standard Template Library and Stephan T. Lavavej  Advanced STL covers the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you&#39;ll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set. This is a very special episode—it was driven by you! In Part 5, Niner KerrekSB commented that a great topic for this advanced series would be developing a generic mechanism for printing out STL containers (like a vector of ints). Then Sven Groot helped out with his usual brilliance. I love this Niner interaction! You got STL to lecture on this stuff! That is HUGE  In fact, STL was so impressed that he decided to try it out himself and see how generic he could make it. He uses only those STL features available in VC10 SP1 (for example, variadic templates are not used in his solution because the feature is not implemented in VC 2010 SP1...). What did Stephan come up with? Get STL&#39;s PrettyPrinter implementation, then watch this great episode to learn the details behind the code. Thanks STL, KerrekSB, and Sven Groot for an excellent exercise! [Advanced STL] Part 1 (shared_ptr - type erasure) Part 2 (equal()/copy() - algorithm optimizations) Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout) Part 4 (rvalue references v2.1 and associative container mischief) Part 5 (deduplicator, using Boost.Bimap/Filesystem/ScopeExit) - see Stephan&#39;s deduplicate.cpp Part 6 (container pretty printer) - see Stephan&#39;s pretty_printer.cpp Watch STL&#39;s great introductory series on the STL </itunes:summary>
      <itunes:duration>2629</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n</link>
      <pubDate>Mon, 11 Jul 2011 17:24:38 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_2MB_ch9.wmv" expression="full" duration="2629" fileSize="1589733147" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_ch9.mp3" expression="full" duration="2629" fileSize="21039796" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_ch9.wma" expression="full" duration="2629" fileSize="21270295" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_ch9.wmv" expression="full" duration="2629" fileSize="366197207" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_high_ch9.mp4" expression="full" duration="2629" fileSize="1043947356" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_low_ch9.mp4" expression="full" duration="2629" fileSize="144257201" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6.ism/manifest" expression="full" duration="2629" fileSize="8638" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/3c0d/295118b3-c816-49cd-a8fb-9f1801173c0d/C9LecturesSTLAdvancedSTL6_ch9.wmv" length="366197207" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>94</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n/RSS</wfw:commentRss>
      <category>Advanced</category>
      <category>C++</category>
      <category>C++0x</category>
      <category>C9 Lectures</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
      <category>Visual C++ 2010</category>
      <category>C++11</category>
    </item>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 5 of n</title>
      <description><![CDATA[<p>There are two STLs: the <em>Standard Template Library</em> and <em>Stephan T. Lavavej </em><img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9" alt="Smiley"></p><p><strong>Advanced STL </strong>covers the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.<br><br><strong>In this 5th part of the n-part series</strong>, STL digs into <strong>the Boost Library (<a href="http://www.boost.org">http://www.boost.org</a>). In his words, it's an open source, super quality, community-driven STL&#43;&#43;. Stephan will walk you through a sample application from end to end, using boost.</strong></p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:373e964175fd4a9f99619edf01389d9d">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n</comments>
      <itunes:summary>There are two STLs: the Standard Template Library and Stephan T. Lavavej  Advanced STL covers the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you&#39;ll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.In this 5th part of the n-part series, STL digs into the Boost Library (http://www.boost.org). In his words, it&#39;s an open source, super quality, community-driven STL&amp;#43;&amp;#43;. Stephan will walk you through a sample application from end to end, using boost. [Advanced STL] Part 1 (shared_ptr - type erasure) Part 2 (equal()/copy() - algorithm optimizations) Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout) Part 4 (rvalue references v2.1 and associative container mischief) Part 5 (deduplicator, using Boost.Bimap/Filesystem/ScopeExit) - see Stephan&#39;s deduplicate.cpp Part 6 (container pretty printer) - see Stephan&#39;s pretty_printer.cpp </itunes:summary>
      <itunes:duration>2108</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n</link>
      <pubDate>Thu, 19 May 2011 18:13:25 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_2MB_ch9.wmv" expression="full" duration="2108" fileSize="547795033" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_ch9.mp3" expression="full" duration="2108" fileSize="16865846" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_ch9.wma" expression="full" duration="2108" fileSize="17052679" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_ch9.wmv" expression="full" duration="2108" fileSize="307858075" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_high_ch9.mp4" expression="full" duration="2108" fileSize="751424401" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_low_ch9.mp4" expression="full" duration="2108" fileSize="136477613" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5.ism/manifest" expression="full" duration="2108" fileSize="8554" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/9D9D/373E9641-75FD-4A9F-9961-9EDF01389D9D/C9LecturesSTLonSTLp5_ch9.wmv" length="307858075" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>84</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n/RSS</wfw:commentRss>
      <category>Advanced</category>
      <category>C++</category>
      <category>C++0x</category>
      <category>C9 Lectures</category>
      <category>Programming</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
      <category>C++11</category>
    </item>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 4 of n</title>
      <description><![CDATA[<p>There are two STLs: the <em>Standard Template Library</em> and <em>Stephan T. Lavavej </em><img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9" alt="Smiley"></p><p><strong>Advanced STL </strong>covers the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.<br><br><strong>In this 4th part of the n-part series</strong>, STL digs into <strong>rvalue references, perfect forwarding&nbsp;</strong>and <strong>associative containers </strong>(set, map, etc).</p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:8bcb2a7c415e409084ae9ecb012b4c41">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n</comments>
      <itunes:summary>There are two STLs: the Standard Template Library and Stephan T. Lavavej  Advanced STL covers the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you&#39;ll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.In this 4th part of the n-part series, STL digs into rvalue references, perfect forwarding&amp;nbsp;and associative containers (set, map, etc). [Advanced STL] Part 1 (shared_ptr - type erasure) Part 2 (equal()/copy() - algorithm optimizations) Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout) Part 4 (rvalue references v2.1 and associative container mischief) Part 5 (deduplicator, using Boost.Bimap/Filesystem/ScopeExit) - see Stephan&#39;s deduplicate.cpp Part 6 (container pretty printer) - see Stephan&#39;s pretty_printer.cpp </itunes:summary>
      <itunes:duration>2083</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n</link>
      <pubDate>Wed, 27 Apr 2011 21:14:32 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_2MB_ch9.wmv" expression="full" duration="2083" fileSize="675532832" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_ch9.mp3" expression="full" duration="2083" fileSize="16671495" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_ch9.wma" expression="full" duration="2083" fileSize="16854413" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_ch9.wmv" expression="full" duration="2083" fileSize="312609929" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_high_ch9.mp4" expression="full" duration="2083" fileSize="766077015" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_low_ch9.mp4" expression="full" duration="2083" fileSize="136320709" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4.ism/manifest" expression="full" duration="2083" fileSize="8650" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/4c41/8bcb2a7c-415e-4090-84ae-9ecb012b4c41/C9LecturesSTLAdvancedSTLp4_ch9.wmv" length="312609929" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>39</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n/RSS</wfw:commentRss>
      <category>C++</category>
      <category>C9 Lectures</category>
      <category>Programming</category>
      <category>Programming Languages</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
    </item>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 3 of n</title>
      <description><![CDATA[<p>Many thousands of you have watched Stephan T. Lavavej's&nbsp;great&nbsp;<strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej">introductory series on the STL</a>&nbsp;</strong>on Channel 9. If you haven't, then you <em>should</em>.</p><p>There are two STLs: the <em>Standard Template Library</em> and <em>Stephan T. Lavavej</em> <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> You will get to know a lot about each STL over the course of these lectures.<br><br><strong>Advanced STL </strong>covers the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.<br><br><strong>In this third part of the n-part series</strong>, STL digs into&nbsp;the <strong>_ITERATOR_DEBUG_LEVEL &quot;New World Order,&quot;</strong> as he says, which powers the STL's comprehensive correctness checks. You will also learn about the history of <strong>_SECURE_SCL </strong>and <strong>_HAS_ITERATOR_DEBUGGING</strong>.<br><br>STL explains <strong><em>#pragma detect_mismatch</em> as a defense against ODR violations</strong> (One Definition Rule).<br><br>As an extra treat, <strong>you will learn about the undocumented compiler option&nbsp; <em>/d1reportSingleClassLayout</em></strong> for looking at data structure representations. Well, now it's &quot;documented&quot; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> Thank you, STL!</p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:546e47a11e4e4ebf92c39ead01763a94">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n</comments>
      <itunes:summary>Many thousands of you have watched Stephan T. Lavavej&#39;s&amp;nbsp;great&amp;nbsp;introductory series on the STL&amp;nbsp;on Channel 9. If you haven&#39;t, then you should. There are two STLs: the Standard Template Library and Stephan T. Lavavej  You will get to know a lot about each STL over the course of these lectures.Advanced STL covers the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you&#39;ll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.In this third part of the n-part series, STL digs into&amp;nbsp;the _ITERATOR_DEBUG_LEVEL &amp;quot;New World Order,&amp;quot; as he says, which powers the STL&#39;s comprehensive correctness checks. You will also learn about the history of _SECURE_SCL and _HAS_ITERATOR_DEBUGGING.STL explains #pragma detect_mismatch as a defense against ODR violations (One Definition Rule).As an extra treat, you will learn about the undocumented compiler option&amp;nbsp; /d1reportSingleClassLayout for looking at data structure representations. Well, now it&#39;s &amp;quot;documented&amp;quot;  Thank you, STL! [Advanced STL] Part 1 (shared_ptr - type erasure) Part 2 (equal()/copy() - algorithm optimizations) Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout) Part 4 (rvalue references v2.1 and associative container mischief) Part 5 (deduplicator, using Boost.Bimap/Filesystem/ScopeExit) - see Stephan&#39;s deduplicate.cpp Part 6 (container pretty printer) - see Stephan&#39;s pretty_printer.cpp </itunes:summary>
      <itunes:duration>2330</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n</link>
      <pubDate>Wed, 30 Mar 2011 15:28:11 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_2MB_ch9.wmv" expression="full" duration="2330" fileSize="769201874" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_ch9.mp3" expression="full" duration="2330" fileSize="18644263" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_ch9.wma" expression="full" duration="2330" fileSize="18849071" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_ch9.wmv" expression="full" duration="2330" fileSize="360003413" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_high_ch9.mp4" expression="full" duration="2330" fileSize="872804699" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_low_ch9.mp4" expression="full" duration="2330" fileSize="153966218" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3.ism/manifest" expression="full" duration="2330" fileSize="8602" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/3A94/546E47A1-1E4E-4EBF-92C3-9EAD01763A94/C9LecturesAdvancedSTLp3_ch9.wmv" length="360003413" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>44</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n/RSS</wfw:commentRss>
      <category>Advanced</category>
      <category>C++</category>
      <category>C9 Lectures</category>
      <category>Programming</category>
      <category>Programming Languages</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
    </item>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 2 of n</title>
      <description><![CDATA[<p>As promised, the great Stephan T. Lavavej is back! <img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9" alt="Smiley">&nbsp; Tens of thousands of you have watched STL's (those are his initials, so that's what we call him) <strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej">introductory series on the STL</a></strong>, or Standard Template Library. If you haven't, you should. This series, Advanced STL, covers the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.<br><br><strong>In the second part of this n-part series, Stephan digs into implementation strategies for various STL algorithms and opens the hood to look at some of the machinery inside the STL employing the goodness of template meta-programming and type traits. You'll also learn about some C&#43;&#43;0x features that are used inside STL.</strong><br><br>As you continue to learn about the beauty and the weirdness inside the STL, you should take Stephan's wisdom to heart and see if you can implement some of the patterns he shares with you in your own code. And you should, of course, take his advice about what NOT to do in your native compositions. <br><br>Tune in. Enjoy. Learn.</p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:1ee8e0f220dc4042a2bb9e980131a0af">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n</comments>
      <itunes:summary>As promised, the great Stephan T. Lavavej is back! &amp;nbsp; Tens of thousands of you have watched STL&#39;s (those are his initials, so that&#39;s what we call him) introductory series on the STL, or Standard Template Library. If you haven&#39;t, you should. This series, Advanced STL, covers the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you&#39;ll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.In the second part of this n-part series, Stephan digs into implementation strategies for various STL algorithms and opens the hood to look at some of the machinery inside the STL employing the goodness of template meta-programming and type traits. You&#39;ll also learn about some C&amp;#43;&amp;#43;0x features that are used inside STL.As you continue to learn about the beauty and the weirdness inside the STL, you should take Stephan&#39;s wisdom to heart and see if you can implement some of the patterns he shares with you in your own code. And you should, of course, take his advice about what NOT to do in your native compositions. Tune in. Enjoy. Learn. [Advanced STL] Part 1 (shared_ptr - type erasure) Part 2 (equal()/copy() - algorithm optimizations) Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout) Part 4 (rvalue references v2.1 and associative container mischief) Part 5 (deduplicator, using Boost.Bimap/Filesystem/ScopeExit) - see Stephan&#39;s deduplicate.cpp Part 6 (container pretty printer) - see Stephan&#39;s pretty_printer.cpp </itunes:summary>
      <itunes:duration>2919</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n</link>
      <pubDate>Thu, 03 Mar 2011 18:50:37 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_2MB_ch9.wmv" expression="full" duration="2919" fileSize="587825126" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_ch9.mp3" expression="full" duration="2919" fileSize="23354663" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_ch9.wma" expression="full" duration="2919" fileSize="23613415" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_ch9.wmv" expression="full" duration="2919" fileSize="299670941" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_high_ch9.mp4" expression="full" duration="2919" fileSize="917147948" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_low_ch9.mp4" expression="full" duration="2919" fileSize="114913175" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2.ism/manifest" expression="full" duration="2919" fileSize="8602" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/A0AF/1EE8E0F2-20DC-4042-A2BB-9E980131A0AF/C9LecturesAdvancedSTLp2_ch9.wmv" length="299670941" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>71</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n/RSS</wfw:commentRss>
      <category>Advanced</category>
      <category>C++</category>
      <category>C++0x</category>
      <category>C9 Lectures</category>
      <category>Programming Languages</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
      <category>Visual C++ 2010</category>
      <category>C++11</category>
    </item>
  <item>
      <title>C9 Lectures: Stephan T Lavavej - Advanced STL, 1 of n</title>
      <description><![CDATA[<p>As promised, the great Stephan T. Lavavej is back! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' />&nbsp; Tens of thousands of you have watched STL's (those are his initials, so that's what we call him) <strong><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej">introductory series on the STL</a></strong>, or Standard Template Library. If you haven't, you should. This series, Advanced STL, will cover the gory details of the STL's implementation -&gt; you will therefore need to be versed in the basics of STL, competent in C&#43;&#43; (of course), and able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9, and C9 is the only place you'll find this level of technical&nbsp;detail&nbsp;regarding the&nbsp;internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most of us, even those with a more advanced&nbsp;STL&nbsp;skill set.<br><br>In the <strong>first part of this n-part series</strong>, Stephan digs deeply into <strong>shared_ptr</strong>. As you already know (since you will have the&nbsp;perquisites&nbsp;in place in your mind <em>before watching this—</em>remember, <a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej">watch the intro series first</a>), shared_ptr is a wrapper of sorts: <em>it wraps a reference-counted smart pointer around a dynamically allocated object.</em> shared_ptr is a template class (almost&nbsp;everything&nbsp;in the STL is a template, thus the name...)&nbsp;that&nbsp;describes an object (int, string,&nbsp;vector, etc.)&nbsp;that uses reference counting to manage resources. A <strong>shared_ptr</strong> object effectively either holds a pointer to the resource that it owns or holds a null pointer. A resource can be owned by more than one <strong>shared_ptr</strong> object, and when the last <strong>shared_ptr</strong> object that owns a particular resource is destroyed, the resource is freed. <br><br>You will also learn a lot about the beauty and the weirdness inside the STL. You should take Stephan's wisdom to heart and see if you can implement some of the patterns he shares with you in your own code, and you should of course take his advice about what NOT to do in your native compositions. <br><br>Welcome back, STL!!!<br><br>Tune in. Enjoy. Learn.</p><p><span>[Advanced STL]</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n"><span>Part 1</span></a> (shared_ptr - type erasure)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-2-of-n"><span>Part 2</span></a> (equal()/copy() - algorithm optimizations)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n"><span>Part 3</span></a> (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-4-of-n"><span>Part 4</span></a> (rvalue references v2.1 and associative container mischief)</span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-5-of-n"><span>Part 5</span></a> (deduplicator, using Boost.<a href="http://www.boost.org/doc/libs/release/libs/bimap/doc/html/index.html"><span>Bimap</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"><span>Filesystem</span></a>/<a href="http://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html"><span>ScopeExit</span></a>) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!290"><span>deduplicate.cpp</span></a></span></p><p><span><a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-6-of-n"><span>Part 6</span></a> (container pretty printer) - see Stephan's <a href="https://skydrive.live.com/redir.aspx?cid=e66e02dc83efb165&amp;resid=E66E02DC83EFB165!292"><span>pretty_printer.cpp</span></a></span></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/feed&WT.dl=0&WT.entryid=Entry:RSSView:5a703ca2f83646a587bd9e83012faa4c">]]></description>
      <comments>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n</comments>
      <itunes:summary>As promised, the great Stephan T. Lavavej is back! &amp;nbsp; Tens of thousands of you have watched STL&#39;s (those are his initials, so that&#39;s what we call him) introductory series on the STL, or Standard Template Library. If you haven&#39;t, you should. This series, Advanced STL, will cover the gory details of the STL&#39;s implementation -&amp;gt; you will therefore need to be versed in the basics of STL, competent in C&amp;#43;&amp;#43; (of course), and able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9, and C9 is the only place you&#39;ll find this level of technical&amp;nbsp;detail&amp;nbsp;regarding the&amp;nbsp;internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most of us, even those with a more advanced&amp;nbsp;STL&amp;nbsp;skill set.In the first part of this n-part series, Stephan digs deeply into shared_ptr. As you already know (since you will have the&amp;nbsp;perquisites&amp;nbsp;in place in your mind before watching this—remember, watch the intro series first), shared_ptr is a wrapper of sorts: it wraps a reference-counted smart pointer around a dynamically allocated object. shared_ptr is a template class (almost&amp;nbsp;everything&amp;nbsp;in the STL is a template, thus the name...)&amp;nbsp;that&amp;nbsp;describes an object (int, string,&amp;nbsp;vector, etc.)&amp;nbsp;that uses reference counting to manage resources. A shared_ptr object effectively either holds a pointer to the resource that it owns or holds a null pointer. A resource can be owned by more than one shared_ptr object, and when the last shared_ptr object that owns a particular resource is destroyed, the resource is freed. You will also learn a lot about the beauty and the weirdness inside the STL. You should take Stephan&#39;s wisdom to heart and see if you can implement some of the patterns he shares with you in your own code, and you should of course take his advice about what NOT to do in your native compositions. Welcome back, STL!!!Tune in. Enjo</itunes:summary>
      <itunes:duration>2600</itunes:duration>
      <link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n</link>
      <pubDate>Thu, 10 Feb 2011 20:47:02 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_2MB_ch9.wmv" expression="full" duration="2600" fileSize="789782053" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_ch9.mp3" expression="full" duration="2600" fileSize="20807202" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_ch9.wma" expression="full" duration="2600" fileSize="21035983" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_ch9.wmv" expression="full" duration="2600" fileSize="376901033" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_high_ch9.mp4" expression="full" duration="2600" fileSize="932769758" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_low_ch9.mp4" expression="full" duration="2600" fileSize="165219874" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1.ism/manifest" expression="full" duration="2600" fileSize="8634" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/aa4c/5a703ca2-f836-46a5-87bd-9e83012faa4c/C9LecturesSTLAdvancedSTL1_ch9.wmv" length="376901033" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Charles</dc:creator>
      <itunes:author>Charles</itunes:author>
      <slash:comments>105</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n/RSS</wfw:commentRss>
      <category>Advanced</category>
      <category>C++</category>
      <category>C9 Lectures</category>
      <category>Programming</category>
      <category>Programming Languages</category>
      <category>Stephan T Lavavej</category>
      <category>STL</category>
    </item>    
</channel>
</rss>