<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual C++ Team Blog</title><link>http://blogs.msdn.com/b/vcblog/</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><item><title>GoingNative 2012 Online</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/02/09/10265973.aspx</link><pubDate>Thu, 09 Feb 2012 16:23:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10265973</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10265973</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2012/02/09/10265973.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"&gt;&lt;img title="GoingNative 2012" style="margin: 0px 5px 0px 0px; float: left; display: inline; background-image: none;" border="0" alt="GoingNative 2012" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/2816.image_5F00_4FB7AE3E.png" width="244" height="46" /&gt;&lt;/a&gt;Thanks to everyone who came to Redmond and/or watched online to participate in &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/"&gt;&lt;strong&gt;Going Native 2012&lt;/strong&gt;&lt;/a&gt;, last week’s global C++-fest. It was a lot of fun, and generated a lot of useful and important talks that we hope will help continue disseminate understanding of C++11 throughout the global C++ community.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/"&gt;&lt;strong&gt;All the videos and decks are available online for on-demand viewing or download.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10265973" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Community/">Community</category></item><item><title>Reducing the Size of Statically-linked MFC Applications in VC11</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/02/06/10263387.aspx</link><pubDate>Mon, 06 Feb 2012 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10263387</guid><dc:creator>vcblog</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10263387</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2012/02/06/10263387.aspx#comments</comments><description>&lt;p&gt;&lt;img title="Pat Brenner" style="margin: 0px 5px 0px 0px;" alt="Pat Brenner" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6837.image_5F00_thumb_5F00_3440E26C.png" /&gt;&lt;/p&gt;  &lt;p&gt;Hello, I’m &lt;strong&gt;Pat Brenner&lt;/strong&gt;, a developer on the Visual C++ Libraries team, and I am the primary developer working on the &lt;strong&gt;Microsoft Foundation Classes (MFC)&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;In Visual Studio 2010, the size of statically-linked MFC applications grew substantially. We’ve gotten a number of comments about this issue, so I wanted to post an article about the cause and the solution that we have come up with.&lt;/p&gt;  &lt;h3&gt;&lt;b&gt;&lt;u&gt;Cause&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;  &lt;p&gt;In Visual Studio 2010, we added a feature to the resource editor which allows you to add MFC controls to your dialogs. The MFC control types appear in the toolbox along with the standard Windows controls. Properties specific to the MFC controls can be set on them, so they behave as desired when the dialog is created.&lt;/p&gt;  &lt;p&gt;In order for this to work properly, a &lt;font face="Courier New"&gt;DLGINIT&lt;/font&gt; block has to be written in the RC file for the project, which contains the properties information in binary format. The &lt;font face="Courier New"&gt;DLGINIT&lt;/font&gt; block has to be parsed when the dialog is being initialized, so the controls can be initialized using the information in the &lt;font face="Courier New"&gt;DLGINIT&lt;/font&gt; block. The code to do this parsing lives in &lt;font face="Courier New"&gt;CWnd::ExecuteDlgInit&lt;/font&gt;. &lt;font face="Courier New"&gt;ExecuteDlgInit&lt;/font&gt; method lives in WINCORE.CPP, whose object is always included in every statically-linked MFC application (because it contains the &lt;font face="Courier New"&gt;CWnd&lt;/font&gt; constructors and the &lt;font face="Courier New"&gt;AfxWndProc&lt;/font&gt; method).&lt;/p&gt;  &lt;p&gt;The code that performs the MFC control initialization, of course, needs to know about all of the MFC controls. Those controls, in turn, may need to know about various visual managers in order to know how to draw themselves. And the visual managers, in turn, have dependencies on other MFC classes.&lt;/p&gt;  &lt;p&gt;The result of these dependencies is that much more of MFC needs to be pulled into a statically-linked MFC application, because the linker cannot determine at build time that none of those methods will need to be called, since it all depends on the content of the RC file and &lt;font face="Courier New"&gt;DLGINIT&lt;/font&gt; structures inside it.&lt;/p&gt;  &lt;p&gt;We were alerted to this size increase in statically-linked MFC applications shortly before the release of Visual Studio 2010 RTM, but we were not able to definitively establish the cause before Visual Studio 2010 shipped. Even if we had, we most likely would not have been able to put the finishing touches on a solution before the release date, because we had to try several different approaches before arriving at a working solution that puts a very small requirement on the MFC developer.&lt;/p&gt;  &lt;h3&gt;&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;  &lt;p&gt;To fix the problem, we eliminated a number of dependencies between MFC classes (further details are below). We also moved several methods that have an effect on the MFC control initialization:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font face="Courier New"&gt;CWnd::ExecuteDlgInit&lt;/font&gt;, &lt;font face="Courier New"&gt;DDX_Control&lt;/font&gt;, &lt;font face="Courier New"&gt;AfxRegisterMFCCtrlClasses&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font face="Courier New"&gt;CMFCControlContainer::SubclassDlgControls&lt;/font&gt; and &lt;font face="Courier New"&gt;CMFCControlContainer::PreUnsubclassControl&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;into separate source modules.&lt;/p&gt;  &lt;p&gt;These separate source modules are then compiled in two different ways:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;With &lt;font face="Courier New"&gt;_AFX_NO_MFC_CONTROLS_IN_DIALOGS&lt;/font&gt; not #defined, they are built into the standard static MFC libraries, NAFXCW[d].LIB and UAFXCW[d].LIB, with the standard behavior enabled.&lt;/li&gt;    &lt;li&gt;With &lt;font face="Courier New"&gt;_AFX_NO_MFC_CONTROLS_IN_DIALOGS&lt;/font&gt; #defined, they are built into a new small static MFC library, AFXNMCD[d].LIB, &lt;i&gt;without&lt;/i&gt; the ability to initialize MFC controls on dialogs. (The NMCD in the library name is an acronym for “&lt;em&gt;No MFC Controls on Dialogs&lt;/em&gt;”.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The new smaller library has the same methods (same names, but different implementations) as the larger standard MFC libraries, so we must make sure to link it in first. This ensures that the functions that don’t have any dependency on MFC control initialization are used and the dependencies are eliminated. This is accomplished via symbols that are defined in the new source modules, and force-included via &lt;font face="Courier New"&gt;#pragma&lt;/font&gt; statements in AFX.H based on &lt;font face="Courier New"&gt;#define&lt;/font&gt;s set.&lt;/p&gt;  &lt;p&gt;The result of this work is that you can simply &lt;font face="Courier New"&gt;#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS&lt;/font&gt; in your MFC application’s &lt;font face="Courier New"&gt;stdafx.h&lt;/font&gt; file, and all the code that performs MFC control initialization on dialogs will be left out of your application. In a simple dialog-based application, this will reduce the size of the application by approximately 80%. [Note that if you &lt;i&gt;do&lt;/i&gt; use MFC controls on a dialog, and build with &lt;font face="Courier New"&gt;_AFX_NO_MFC_CONTROLS_IN_DIALOGS&lt;/font&gt; #defined, your application may not run at all (or dialogs will not appear) because a dialog containing a nonexistent window class cannot be created. We added &lt;font face="Courier New"&gt;TRACE&lt;/font&gt; statements to MFC to this effect to help point out this issue.]&lt;/p&gt;  &lt;p&gt;In addition, we have made changes in the code generated by the MFC application wizard. It will generate code that contains &lt;font face="Courier New"&gt;#ifdef&lt;/font&gt;s for the &lt;font face="Courier New"&gt;_AFX_NO_MFC_CONTROLS_IN_DIALOGS&lt;/font&gt;, so:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Dialogs will be derived from &lt;font face="Courier New"&gt;CDialog&lt;/font&gt; instead of &lt;font face="Courier New"&gt;CDialogEx&lt;/font&gt; if the &lt;font face="Courier New"&gt;#define&lt;/font&gt; is set.&lt;/li&gt;    &lt;li&gt;No &lt;font face="Courier New"&gt;CShellManager&lt;/font&gt; will be created in the application’s &lt;font face="Courier New"&gt;InitInstance&lt;/font&gt; method if the &lt;font face="Courier New"&gt;#define&lt;/font&gt; is set. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We have implemented these changes in MFC for the next major release of Visual Studio. Now that we understand the cause and the best solution, we looked at the possibility of porting the changes back to Visual Studio 2010 in order to benefit applications built with that version. Unfortunately, the changes we made to reduce the dependencies between MFC classes included:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Moving D2D-related member functions/data out of the &lt;font face="Courier New"&gt;_AFX_GLOBAL_DATA&lt;/font&gt; class to a separate class&lt;/li&gt;    &lt;li&gt;Adding a new virtual method to both &lt;font face="Courier New"&gt;CMDIChildWnd&lt;/font&gt; and &lt;font face="Courier New"&gt;CMDIChildWndEx&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Adding a new method to the &lt;font face="Courier New"&gt;CWinApp&lt;/font&gt; class&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Because these changes introduce binary incompatibilities, we are not able to port the changes back to Visual Studio 2010 without breaking existing MFC applications.&lt;/p&gt;  &lt;p&gt;I hope you find this information helpful!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Pat Brenner   &lt;br /&gt;Visual C++ Libraries Development&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10263387" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/MFC/">MFC</category></item><item><title>The Microsoft C++ Compiler Turns 20!</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/02/03/10263262.aspx</link><pubDate>Fri, 03 Feb 2012 16:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10263262</guid><dc:creator>vcblog</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10263262</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2012/02/03/10263262.aspx#comments</comments><description>&lt;p&gt;&lt;img width="184" height="184" title="Microsoft C/C++ 7.0" align="left" style="margin: 0px 5px 0px 0px; float: left; display: inline; background-image: none;" alt="Microsoft C/C++ 7.0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5315.image_5F00_4A0AFA02.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;This month, we enter the third decade of C++ at Microsoft.&lt;/p&gt;
&lt;p&gt;It was twenty years ago, in February of 1992, that we released our first C++ compiler: Microsoft C/C++ 7.0. Before then, we already worked with several of the C++ &amp;ldquo;preprocessor&amp;rdquo; compilers that took C++ and converted it to C before our compiler then created the executable program. But starting in 1992, Microsoft&amp;rsquo;s premier native compiler supported C++ directly, and has done so ever since.&lt;/p&gt;
&lt;p&gt;C/C++ 7.0 shipped in a box that was over two feet long and produced MS-DOS, Windows and OS/2 applications. It also sported the last of the character oriented development environments for C that we ever shipped &amp;ndash; the following product was Visual C++, which built on what we had learned from delivering QuickC. Since those early days, we have shipped eleven major releases of C/C++ products (ignoring small point upgrades) for both Windows and embedded development.&lt;/p&gt;
&lt;p&gt;This month, on the 20&lt;sup&gt;th&lt;/sup&gt; anniversary of our first C++ compiler, we&amp;rsquo;re looking forward to shipping the beta of Visual C++ 11. It includes support for ARM processors, Windows 8 tablet apps, C++ AMP for heterogeneous parallel computing, automatic parallelization, and the complete ISO C++11 standard library&amp;hellip; and a few more of the new C++11 language features too.&lt;/p&gt;
&lt;p&gt;Last summer, we pledged to publish the C++ AMP specification as an open specification that any compiler vendor may implement, to target any operating system platform. Today, we published the &lt;a href="http://download.microsoft.com/download/4/0/E/40EA02D8-23A7-4BD2-AD3A-0BFFFB640F28/CppAMPLanguageAndProgrammingModel.pdf"&gt;C++ AMP open specification&lt;/a&gt; to support using C++ for heterogeneous parallel computing on GPUs and multicore/SSE today, with more to come in the future. Read the full announcement and download the specification at &lt;a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/03/c-amp-open-spec-published.aspx"&gt;the Native Concurrency blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally, to make this anniversary celebration complete, we&amp;rsquo;re shifting gears to pick up speed: After Visual C++ 11 ships, you&amp;rsquo;ll see us deliver compiler and library features more frequently in shorter out-of-band release cycles than our historical 2- or 3-year timeframe. And, of course, the first and most important target of those more agile releases is to deliver more and more of the incredible value in the new ISO Standard C++11 language. Please check &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"&gt;Herb Sutter's keynote&lt;/a&gt; at &lt;strong&gt;GoingNative 2012&lt;/strong&gt; for further details.&lt;/p&gt;
&lt;p&gt;After 20 years, C++ is alive and well, and going stronger and faster than ever, not just at Microsoft but across our industry. Use it. Love it. And go native!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10263262" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/compiler/">compiler</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_+AMP/">C++ AMP</category></item><item><title>C++11 Conformance Survey</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/02/02/10263304.aspx</link><pubDate>Thu, 02 Feb 2012 20:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10263304</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img width="94" height="88" title="Vikas Bhatia" align="left" style="margin: 0px 5px 0px 0px; float: left; display: inline; background-image: none;" alt="Vikas Bhatia" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/2148.image_5F00_19E26A24.png" border="0" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hello, My name is &lt;strong&gt;Vikas Bhatia&lt;/strong&gt; and I am a Program Manager in the Visual C++ team. We are conducting a survey to see the relative urgency of C++11 features to you, the developer.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;C++11 conformance is important to us. We intend to implement the C++11 language features. We are evaluating the order with which to implement these features. We use C++ too and we know several features&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span&gt;we&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&amp;nbsp;think are more urgent. But instead of relying only on that, we want to check with you and let&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span&gt;you&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&amp;nbsp;vote on which features you think are more urgent for your needs to make sure we are in fact doing the ones most urgently needed by our customers.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Watch Herb Sutter&amp;rsquo;s &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"&gt;keynote&lt;/a&gt; at Going Native (available 24 hours after live session) where we discuss key C++11 features.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; color: #ff0000;"&gt;Please help us out by filling the survey link here: &lt;span style="text-decoration: underline;"&gt;&lt;a href="http://bit.ly/mscpp11"&gt;&lt;span style="color: #ff0000; text-decoration: underline;"&gt;http://bit.ly/mscpp11&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10263304" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Survey/">Survey</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/compiler/">compiler</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/c_2B002B00_11/">c++11</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/language/">language</category></item><item><title>The Magic of Going Native 2012 Starts Today!</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/02/02/10263099.aspx</link><pubDate>Thu, 02 Feb 2012 14:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10263099</guid><dc:creator>vcblog</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10263099</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2012/02/02/10263099.aspx#comments</comments><description>&lt;p&gt;&lt;span style="color: #ff0000; font-size: medium; background-color: #ffff00;"&gt;&lt;strong&gt;UPDATE: We are already streaming live!!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"&gt;&lt;img width="964" height="64" title="c7271438-ddbd-4e22-afbb-f500cc84afa2[1]" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" alt="c7271438-ddbd-4e22-afbb-f500cc84afa2[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6710.c7271438_2D00_ddbd_2D00_4e22_2D00_afbb_2D00_f500cc84afa21_5F00_034F391D.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you guys ready? This is the agenda for this event happening during today and tomorrow.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Day 1 &amp;ndash; C++11 Today&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[Keynote ] 9:30-11:00AM PST (1730 - 1900 UTC) -- &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style"&gt;Bjarne Stroustrup&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style"&gt;: C++11 Style&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11:15-12:15PM PST (1915 - 2015 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11"&gt;Hans Boehm&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11"&gt;: Threads and Shared Variables in C++11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1:15-2:15PM PST (2115 - 2215 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets"&gt;Stephan T. Lavavej: STL11 &amp;ndash; Magic &amp;amp;&amp;amp; Secrets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2:30-3:30PM PST (2230 - 2330 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic"&gt;Andrei Alexandrescu&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic"&gt;: Variadic Templates are Funadic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4:00 &amp;ndash; 5:15PM PST (0000 - 0115 UTC) - &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native"&gt;Panel: The Importance of Being Native &lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native"&gt;(Bjarne, Andrei, Herb, Hans)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Day 2 &amp;ndash; C++11 Today and Tomorrow&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[Keynote] 9:30 &amp;ndash; 11:00AM PST (1730 - 1900 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"&gt;Herb Sutter&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"&gt;: C++11, VC++11 and Beyond&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;11:15-12:15PM PST (1915 - 2015 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"&gt;Chandler Carruth&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"&gt;: Clang - Defending C++ from Murphy's Million Monkeys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1:15-2:15PM PST (2115 - 2215 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer"&gt;Andrei Alexandrescu: Static If I Had a Hammer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2:30-3:30PM PST (2230 - 2330 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-"&gt;Bjarne Stroustrup and Andrew Sutton: A Concept Design for C++&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4:00 &amp;ndash; 5:30PM PST (0000 - 0115 UTC) &amp;ndash; &lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-"&gt;Panel: Ask Us Anything! &lt;/a&gt;&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-"&gt;(all speakers)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The event will be available for live streaming and on demand!! We&amp;rsquo;ll see you then.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10263099" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_0x/">C++0x</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Community/">Community</category></item><item><title>Enhancements to /GS in Visual Studio 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/01/31/10262512.aspx</link><pubDate>Tue, 31 Jan 2012 23:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262512</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Tim Burrell outlines more of the work done by Security Science &amp;amp; the Visual Studio team.&lt;/p&gt;
&lt;p&gt;He &lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx"&gt;previously noted&lt;/a&gt; that they are updating the on-by-default /GS compiler switch, which provides protection against some memory safety bugs such as buffer overflows. In a new post he provides additional information on those changes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2012/01/26/enhancements-to-gs-in-visual-studio-11.aspx"&gt;[Go to the article]&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262512" width="1" height="1"&gt;</description></item><item><title>GoingNative 2012 Full Schedule</title><link>http://blogs.msdn.com/b/vcblog/archive/2012/01/18/10258301.aspx</link><pubDate>Thu, 19 Jan 2012 04:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10258301</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Charles has recently published the agenda for GoingNative 2012 &amp;ndash;the first C++ only event done in MS in many years.&lt;/p&gt;
&lt;p&gt;Great speakers and compelling topics. Take a look &lt;a href="http://channel9.msdn.com/posts/Announcing-the-GoingNative-2012-Full-Schedule"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10258301" width="1" height="1"&gt;</description></item><item><title>Compiler Security Enhancements in Visual Studio 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/12/05/10244343.aspx</link><pubDate>Mon, 05 Dec 2011 19:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10244343</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx"&gt;&lt;img width="60" height="60" title="Compiler Security Enhancements in Visual Studio 11" align="left" alt="Compiler Security Enhancements in Visual Studio 11" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5824.image_5F00_16973259.png" border="0" /&gt;&lt;/a&gt;Tim Burrell (MSEC Security Science Team) just posted a new article in the Security Development Lifecycle (SDL) blog.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/12/02/security.aspx"&gt;[Read article here]&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10244343" width="1" height="1"&gt;</description></item><item><title>Announcing GoingNative 2012 Conference</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/11/24/10241128.aspx</link><pubDate>Thu, 24 Nov 2011 08:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10241128</guid><dc:creator>vcblog</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10241128</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/11/24/10241128.aspx#comments</comments><description>&lt;p&gt;&lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;amp;pagename=SITE218011"&gt;&lt;img title="Register to GoingNative 2012 today" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Register to GoingNative 2012 today" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5164.image_5F00_681B9C00.png" width="640" height="133" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We know developers are hungry for information about &lt;strong&gt;native development&lt;/strong&gt;.&lt;strong&gt; &lt;/strong&gt; The &lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;amp;pagename=SITE218011"&gt;&lt;strong&gt;GoingNative conference&lt;/strong&gt;&lt;/a&gt;&amp;nbsp; aims to provide current technical information to as many people as possible.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;amp;pagename=SITE218011"&gt;&lt;strong&gt;Register now!&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;amp;pagename=SITE218011"&gt;&lt;strong&gt;GoingNative 2012&lt;/strong&gt;&lt;/a&gt; is a 48 hour technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: C++ developers. Distinguished speakers include the creator of C++, &lt;strong&gt;Bjarne Stroustrup&lt;/strong&gt;, C++ Standards Committee Chair, &lt;strong&gt;Herb Sutter&lt;/strong&gt;, C++ template and big compute master, &lt;strong&gt;Andrei Alexandrescu&lt;/strong&gt;, STL master &lt;strong&gt;Stephan T. Lavavej&lt;/strong&gt;, and more! Official agenda will be released over the next month or so. Join us!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 100%;" cellspacing="0" cellpadding="2" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="100%"&gt;&lt;strong&gt;Feb 2-3, 2012 &lt;br /&gt;Microsoft Corporate Campus &lt;br /&gt;Building 33 &lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;Redmond, WA, USA&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Streamed live &lt;/strong&gt;(on-demand &amp;lt; 24 hours later, each day) right here.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evening event&lt;/strong&gt; (party - great food(dinner), music, drink and people!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shuttles&lt;/strong&gt; from Bellevue's Lincoln Square (where we recommend &lt;a href="http://www.expedia.com/Lincoln-Square-Hotels.0-l6093305-0.Travel-Guide-Filter-Hotels"&gt;&lt;strong&gt;booking your hotel&lt;/strong&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;amp;pagename=SITE218011"&gt;&lt;strong&gt;Hurry up and reserve your spot!!&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&lt;/p&gt;
&lt;hr style="width: 100px;" width="100" /&gt;
&lt;p style="text-align: left;"&gt;&lt;strong&gt;UPDATE: read &lt;a href="http://herbsutter.com/2011/11/23/c-spring-goingnative-feb-2-3-2012/"&gt;Herb Sutter's post on GoingNative 2012.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10241128" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Channel9_3A003A00_GoingNative/">Channel9::GoingNative</category></item><item><title>Code Analysis in Visual C++ 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/11/09/10235454.aspx</link><pubDate>Wed, 09 Nov 2011 18:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10235454</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx"&gt;&lt;img width="60" height="60" title="Code Analysis in Visual C++ 11" align="left" style="border: 0px currentcolor; float: left; display: inline; background-image: none;" alt="Code Analysis in Visual C++ 11" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5824.image_5F00_16973259.png" border="0" /&gt;&lt;/a&gt;The Microsoft Security Science team has recently posted a note about Security Development Lifecycle integration as part of the Code Analysis rules coming with the next version of Visual C++.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx"&gt;[Read the full post]&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10235454" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/code+analysis/">code analysis</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/security+development+lifecycle/">security development lifecycle</category></item><item><title>Game Debugging in Visual Studio 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/11/08/10235150.aspx</link><pubDate>Tue, 08 Nov 2011 22:20:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10235150</guid><dc:creator>vcblog</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10235150</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/11/08/10235150.aspx#comments</comments><description>&lt;p&gt;Hi! I am &lt;strong&gt;Amit Mohindra&lt;/strong&gt;, a Program Manager on the Visual C++ team.&lt;/p&gt;
&lt;p&gt;We believe Metro style games and graphics-intensive apps present a huge opportunity for developers on new devices such as tablets. The primary API for accessing the full power of the underlying graphics hardware on Windows is &lt;strong&gt;DirectX 11&lt;/strong&gt; (including &lt;strong&gt;Direct3D&lt;/strong&gt; and &lt;strong&gt;Direct2D&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;One of the most significant innovations we have brought to Visual Studio 11 is a series of tools for assisting you in developing Direct3D games. We made a quick video of some of these features on Channel9 (&lt;a href="http://channel9.msdn.com/posts/Visual-Studio-vNext-DirectX-11-Development-Experience" target="_blank"&gt;link&lt;/a&gt;). In this post, I will walk through our debugging &amp;amp; diagnostics support for D3D.&lt;/p&gt;
&lt;p&gt;The new &lt;strong&gt;Graphics Debugger&lt;/strong&gt; in Visual Studio is a debugging and analysis tool that captures detailed information from a Direct3D application as it executes. You can use it to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Capture rendered frames for later inspection and analysis.&lt;/li&gt;
&lt;li&gt;View DirectX events and their effects on the application.&lt;/li&gt;
&lt;li&gt;View 3D meshes before and after vertex shader transformations.&lt;/li&gt;
&lt;li&gt;Discover which DirectX events contribute to the color of a specific pixel.&lt;/li&gt;
&lt;li&gt;Jump directly to the location in source code for a particular DirectX call&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s try to hypothetically solve a simple problem step by step using the graphics debugger. For this blog the game we&amp;rsquo;re working on is a rotating Die game. Here is what it should look like.&lt;/p&gt;
&lt;p&gt;&lt;img width="628" height="394" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/0842.image_5F00_1B76EA9E.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;However, when we run the application we find out that the Die does not get rendered in the game.&lt;/p&gt;
&lt;p&gt;&lt;img width="628" height="394" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/2260.image6_5F00_092E23DC.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;To start debugging this game, right-click on the project in Solution Explorer and set &amp;ldquo;Enable Graphics Capture&amp;rdquo; to &amp;ldquo;Yes&amp;rdquo; in the Debugging node.&lt;/p&gt;
&lt;p&gt;&lt;img width="628" height="444" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/0844.image9_5F00_1D474065.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now, F5 to start debugging your application and you will notice that the game now has some fundamental statistics displayed in the top left corner. This indicates that VS is ready to capture diagnostic information from the game for you to investigate the rendering issues.&lt;/p&gt;
&lt;p&gt;&lt;img width="624" height="161" title="" style="border: 0px currentcolor; display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6215.image12_5F00_5D1126EA.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;In order to capture a frame, just hit the &amp;ldquo;Print Screen&amp;rdquo; key. You can repeat this as often as you like; each frame will show up in Visual Studio as part of the &amp;ldquo;Graphics Experiment.vsglog&amp;rdquo; file. The log file contains all the information required for you to debug the rendering issues. The file by default is located in a temporary location, but you can choose to save the file and share it with other developers.&lt;/p&gt;
&lt;p&gt;&lt;img width="628" height="394" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1512.image15_5F00_18D0BF9E.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s dig further into what&amp;rsquo;s going on by analyzing the captured frame in Visual Studio. To understand it better I want to know what got drawn when I called the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;DrawIndexed&lt;/span&gt;&amp;rdquo; API in my code.&lt;/p&gt;
&lt;p&gt;To inspect the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;DrawIndexed&lt;/span&gt;&amp;rdquo; call right-click on the frame thumbnail and select &amp;ldquo;Events List&amp;rdquo; from the context menu to bring up the events list window.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Graphics Event List window&lt;/b&gt; lists all the DirectX events captured by running a program under the VS debugger. It also simulates the events under the graphics debugger, re-running the commands using the same inputs as used by the running program. In the search box you could type &amp;ldquo;Draw&amp;rdquo; to filter the list to show the DirectX draw calls. Clicking through the draw calls you will be able to see in the frame window (on the right) how that frame was drawn piece by piece.&lt;/p&gt;
&lt;p&gt;In the search box in this window type &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;Draw&lt;/span&gt;&amp;rdquo;, this will filter the list to show the draw calls made by the game. Select the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;DrawIndexed&lt;/span&gt;&amp;rdquo; call in the events list and check to see in the frame window if something gets rendered.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6215.image18_5F00_6CB3C2AC.png" target="_blank"&gt;&lt;img width="644" height="404" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/2260.image18_5F00_thumb_5F00_4F4171A0.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately in this scenario as seen above nothing is rendered so we need to continue our debugging process. A &lt;a href="http://msdn.microsoft.com/en-us/library/bb205117(VS.85).aspx" target="_blank"&gt;draw API&lt;/a&gt; (&lt;span style="font-family: Courier New;" face="Courier New"&gt;DrawIndexed&lt;/span&gt;) submits work to the rendering pipeline. So let&amp;rsquo;s inspect the rendering pipeline to see if something was submitted as part of the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;DrawIndexed&lt;/span&gt;&amp;rdquo; call. In order to see what was going on in the graphics pipeline when the draw call was executed, right-click on the call in the events list and bring up the pipeline viewer by selecting &amp;ldquo;Pipeline Viewer&amp;rdquo; from the context menu.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Graphics pipeline viewer&lt;/b&gt; shows the different stages in the graphics pipeline and how those stages modify your model.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3678.image21_5F00_3815F722.png" target="_blank"&gt;&lt;img width="644" height="404" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1524.image21_5F00_thumb_5F00_3DF32B6C.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The viewer shows four different views of the mesh data; these correspond to four different stages in the pipeline&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 100%;" border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="30%" valign="top"&gt;&lt;strong&gt;View&lt;/strong&gt;&lt;/td&gt;
&lt;td width="70%" valign="top"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;Pre-Vertex Shader&lt;/td&gt;
&lt;td valign="top"&gt;View the mesh vertices before the vertex shader. The camera is pointed at the center of the object.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;Post Vertex Shader&lt;/td&gt;
&lt;td valign="top"&gt;View the mesh vertices after the vertex shader. The camera is pointed at the center of the object.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;Geometry Shader &lt;br /&gt;(not seen in this example as it is not used)&lt;/td&gt;
&lt;td valign="top"&gt;View the mesh vertices after the geometry shader. The camera is pointed at the center of the object. If there is no geometry shader assigned, this view is blank (a solid shade of light gray).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;View Port&lt;/td&gt;
&lt;td valign="top"&gt;View the mesh vertices in screen space. The camera is set up identical to the camera in the target program.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note there are other stages in the graphics pipeline which are not represented in this view. For more on the new graphics pipeline stages in DirectX 11, see &lt;a href="http://msdn.microsoft.com/en-us/library/ff476340(v=VS.85).aspx#Pipeline_Stages" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the graphics pipeline view you can see that something is being drawn that looks like the Die that the application wanted to render. It seems from the figure above that the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;Die&lt;/span&gt;&amp;rdquo; (cube) structure is going through the graphics pipeline correctly indicating that the shaders are functioning correctly (they aren&amp;rsquo;t modifying the original structure in a way that would prevent them from being rendered).&lt;/p&gt;
&lt;p&gt;At this point we need to continue debugging and take a look elsewhere. It could be that the pixels being overwritten or discarded. To verify this hypothesis lets go take a look at the pixels in the center of the frame (where the Die is supposed to be rendered). In the frame buffer window click in the center to first select a pixel and then right click and choose &amp;ldquo;Pixel History&amp;rdquo; from the context menu.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Graphics&lt;/b&gt; &lt;b&gt;Pixel History window&lt;/b&gt; displays the activities that contribute to the color of the selected pixel in the current frame. It contains information about how the pixel was modified by each DirectX event in the pixel history window. This includes the initial frame buffer state, followed by the intermediate draw events of rendering and the final result.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4263.image24_5F00_0DCBE0A9.png" target="_blank"&gt;&lt;img width="644" height="403" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4251.image24_5F00_thumb_5F00_6F8129B2.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can see from the &amp;ldquo;Pixel History&amp;rdquo; window that the frame buffer color for the pixel was blue, and then the pixel shader applied a different color (grey) to the pixel. However, the final color is still blue. The desired pixel color being rendered is not getting applied at all. This is an indication that the blend state might not be set correctly. Blend state controls how color and alpha values are blended when combining rendered data with existing render target data. To inspect the blend state, right click on the pixel and choose &amp;ldquo;Object Table&amp;rdquo; from the context menu. This will pop up the &amp;ldquo;Graphics Object Table&amp;rdquo; window.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Graphics Object Table&lt;/strong&gt; displays Direct3D objects created by the target program. Any object that contains state information can be viewed by double clicking on the object in the table.&lt;/p&gt;
&lt;p&gt;Sort the object table (by &amp;ldquo;Type&amp;rdquo;) and then scroll to the list of &amp;ldquo;D3D11 Blend State&amp;rdquo; object. Double click on the &amp;ldquo;D3D11 Blend State&amp;rdquo; object will the lowest valid (not N/A) &amp;ldquo;Usage Age&amp;rdquo;. &amp;ldquo;Usage Age&amp;rdquo; helps scope the object to investigate in relation to the selected draw call, lower the usage age the more relevant it is. Double click on the blend state object with the lowest usage age and it will open a document with details of the object inside Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/0363.image27_5F00_45A0B57D.png" target="_blank"&gt;&lt;img width="644" height="370" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/7713.image27_5F00_thumb_5F00_210F27F9.png" border="0" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From the picture above we can see:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c7509a03-2d9c-4f92-8418-46f392044b67" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background: #ffffff; color: #000000;"&gt;Blend Source = D3D11_BLEND_ZERO; &lt;/span&gt;&lt;span style="background: #ffffff; color: #008000;"&gt;//Source represents the color output by the pixel shader on which blend operation is performed&lt;/span&gt;&lt;br /&gt; &lt;span style="background: #ffffff; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background: #ffffff; color: #000000;"&gt;Blend Destination = D3D11_BLEND_ONE; &lt;/span&gt;&lt;span style="background: #ffffff; color: #008000;"&gt;//Destination represents the color of the frame on which blend operation is performed&lt;/span&gt;&lt;br /&gt; &lt;span style="background: #ffffff; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background: #ffffff; color: #000000;"&gt;Blend Op = D3D11_BLEND_ADD; &lt;/span&gt;&lt;span style="background: #ffffff; color: #008000;"&gt;//Blend operation to perform with the source and destination.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;We can see from this that the blend state for the source is being masked since it is set to zero (&lt;span style="font-family: Courier New;" face="Courier New"&gt;D3D11_BLEND_ZERO&lt;/span&gt;) and the blend state for the destination is set to one (&lt;span style="font-family: Courier New;" face="Courier New"&gt;D3D11_BLEND_ONE&lt;/span&gt;). This causes the background color to come out as the primary color after blending thus we don&amp;rsquo;t see the Die being rendered. The values should be switched such that the output of the pixel shader is primary output of the blending operation.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:74978ad2-362f-4a8e-ab70-e844920c645b" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background: #ffffff; color: #000000;"&gt;Blend Source = D3D11_BLEND_ONE; &lt;/span&gt;&lt;br /&gt; &lt;span style="background: #ffffff; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Blend Destination = D3D11_BLEND_ZERO;&lt;/span&gt;&lt;br /&gt; &lt;span style="background: #ffffff; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Blend Op = D3D11_BLEND_ADD; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To find out where the blend state is being set we can go back to the event list window and filter the event list to look for &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;blendstate&lt;/span&gt;&amp;rdquo; since the event list lists all the DirectX events that transpired for the captured frame. Once you filter you can see calls to &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;OMSetBlendState&lt;/span&gt;&amp;rdquo;. &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;OMSetBlendState&lt;/span&gt;&amp;rdquo; is the call that sets the blend state. To get to the source code where this call is being made right click on the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;OMSetBlendState&lt;/span&gt;&amp;rdquo; call and chose &amp;ldquo;Call Stack&amp;rdquo; from the context menu to bring up the &amp;ldquo;Graphics Call Stack&amp;rdquo; window&lt;/p&gt;
&lt;p&gt;The&lt;b&gt; Graphics Event Callstack&lt;/b&gt; window ties the DirectX events to the C++ source code being debugged.&lt;/p&gt;
&lt;p&gt;Double click on the first call in the call stack and it takes you to the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;OMSetBlendState&lt;/span&gt;&amp;rdquo; call in the code. A few lines above the &amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;OMBlendState&lt;/span&gt;&amp;rdquo; call and you will notice the lines of code where source and destination blend values are set.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/0044.image_5F00_2E753AFF.png" target="_blank"&gt;&lt;img width="644" height="312" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/7713.image_5F00_thumb_5F00_2BCF0FFF.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Switch the two states by changing the code to reflect the following:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:dbaac399-d4de-4724-a29e-8286746b451f" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background: #ffffff; color: #000000;"&gt;blenddesc.RenderTarget[0].SrcBlend=D3D11_BLEND_ONE;&lt;/span&gt;&lt;br /&gt; &lt;span style="background: #ffffff; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blenddesc.RenderTarget[0].DestBlend=D3D11_BLEND_ZERO;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Build and Run.&lt;/p&gt;
&lt;p&gt;&lt;img width="628" height="394" title="" style="display: inline; background-image: none;" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5661.image_5F00_2275DB7C.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Game development isn&amp;rsquo;t easy and we think tools should help you make use of the underlying DirectX platform. In this release, we are excited to bring this new type of diagnostics experience directly into Visual Studio. &lt;b&gt;These features are still under development and could potentially change or not even be included in our final product&lt;/b&gt;. These features are only available of Visual Studio Professional and above SKU&amp;rsquo;s.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10235150" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/debugging/">debugging</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Graphics/">Graphics</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Games/">Games</category></item><item><title>GoingNative 3: Marian Luparu answers about C++/CX</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/31/10231784.aspx</link><pubDate>Tue, 01 Nov 2011 06:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231784</guid><dc:creator>Diego Dagum - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10231784</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/10/31/10231784.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-3-The-CCX-Episode-with-Marian-Luparu"&gt;&lt;img style="margin: 0px 5px 0px 0px" title="Click to watch the episode in Channel 9" border="0" alt="Click to watch the episode in Channel 9" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5123.image_5F00_1D27614A.png" width="244" height="138" /&gt;&lt;/a&gt;C++/CX language design team member &lt;strong&gt;Marian Luparu&lt;/strong&gt; sits in the hot seat to answer some questions (a few from the GoingNative community - thank you!), draw on the whiteboard and demo some code.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-3-The-CCX-Episode-with-Marian-Luparu"&gt;[Watch the episode in Channel 9]&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231784" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B002F00_CX/">C++/CX</category></item><item><title>Try It Now: Use PPL to Produce Windows 8 Asynchronous Operations</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/31/10231530.aspx</link><pubDate>Mon, 31 Oct 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231530</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;There's&amp;nbsp;a new revision of the &lt;strong&gt;Concurrency Runtime and Parallel Pattern Library sample pack&lt;/strong&gt; that&amp;nbsp;demonstrates a convenient way of consuming and producing Windows Runtime asynchronous operations using PPL.&lt;/p&gt;
&lt;p&gt;Read &lt;a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2011/10/27/try-it-now-use-ppl-to-produce-windows-8-asynchronous-operations.aspx"&gt;the announcement&lt;/a&gt; at sister blog &lt;strong&gt;Parallel Programming in Native Code&lt;/strong&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231530" width="1" height="1"&gt;</description></item><item><title>Inside the C++/CX Design</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/20/10228473.aspx</link><pubDate>Fri, 21 Oct 2011 04:58:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10228473</guid><dc:creator>vcblog</dc:creator><slash:comments>49</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10228473</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/10/20/10228473.aspx#comments</comments><description>&lt;p&gt;&lt;img style="margin: 0px 5px 0px 0px;" title="Jim Springfield" border="0" alt="Jim Springfield" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/7183.image_5F00_0C7B3B88.png" width="73" height="96" /&gt;Hello. This is &lt;strong&gt;Jim Springfield&lt;/strong&gt;, an architect on the Visual C++ team.&lt;/p&gt;
&lt;p&gt;Today, I want to give some insight into the new language extensions, officially called &lt;strong&gt;C++/CX&lt;/strong&gt;, which was designed to support the new API model in Windows 8. If you attended &lt;a href="http://www.buildwindows.com" target="_blank"&gt;//BUILD/&lt;/a&gt;, watched &lt;a href="http://channel9.msdn.com/events/BUILD/BUILD2011?sort=sequential&amp;amp;direction=desc&amp;amp;term=&amp;amp;t=c%2B%2B" target="_blank"&gt;some of the sessions online&lt;/a&gt;, or have been playing with &lt;a href="http://msdn.microsoft.com/en-us/windows/apps/br229516" target="_blank"&gt;the prerelease of Visual Studio&lt;/a&gt;, you probably have seen some of the &amp;ldquo;new&amp;rdquo; syntax. For anyone who is familiar with C++/CLI (&lt;i&gt;i.e. the language extensions we provide for targeting the CLR&lt;/i&gt;), the syntax shouldn&amp;rsquo;t seem much different.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;Please note, however, that while the C++/CX syntax is very similar to C++/CLI, the underlying implementation is very different, it does not use the CLR or a garbage collector, and it generates completely native code (x64, x64, ARM depending on target).&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Early on in the design of our support for Windows 8, we looked at many different ideas including a pure library approach as well as various ways to integrate support in the language. We have a long history of supporting COM in the Visual C++ team. From MFC to ATL to &lt;span style="font-family: Courier New;" face="Courier New"&gt;#import&lt;/span&gt; to attributed ATL. We also have a good bit of experience at targeting the CLR including the original managed extensions, C++/CLI, and the IJW support for compiling native code to MSIL. Our design team consisted of seven people and included people who worked on these and who have lots of experience in libraries, compiler implementation, and language design.&lt;/p&gt;
&lt;p&gt;We actually did develop a new C++ template library for Windows 8 called WRL (&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-2-C-at-BUILD-Windows-Runtime-LibraryWRL-Meet-Tarek-and-Sridhar" target="_blank"&gt;Windows Runtime Library&lt;/a&gt;) that does support targeting Windows 8 without language extensions. WRL is quite good and it can be illuminating to take a look at it and see how all of the low-level details are implemented. It is used internally by many Windows teams, although it does suffer from many of same problems that ATL does in its support of classic COM.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Authoring of components is still very difficult. You have to know a lot of the low-level rules about interfaces.&lt;/li&gt;
&lt;li&gt;You need a separate tool (MIDL) to author interfaces/types.&lt;/li&gt;
&lt;li&gt;There is no way to automatically map interfaces from low-level to a higher level (modern) form that throws exceptions and has real return values.&lt;/li&gt;
&lt;li&gt;There is no unification of authoring and consumption patterns.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With some of the new concepts in the Windows Runtime, these drawbacks become even more difficult than in classic COM/ATL. Interface inheritance isn&amp;rsquo;t vtable-based like it is in classic COM. Class inheritance is based on a mechanism similar to aggregation but with some differences including support for private and protected interfaces. We quickly realized that although there is a need for a low-level tool like WRL, for the vast majority of uses, it is just too hard to use and we could do a lot better while still preserving performance and providing a lot of control.&lt;/p&gt;
&lt;p&gt;The &lt;span style="font-family: Courier New;" face="Courier New"&gt;#import&lt;/span&gt; &lt;a href="http://msdn.microsoft.com/en-us/library/8etzzkb6(v=VS.100).aspx" target="_blank"&gt;feature&lt;/a&gt; that was available in VC6 provides a good mechanism for consuming COM objects that have a type library. We thought about providing something similar for the Windows Runtime (which uses a new .winmd file), but while that could provide a good consumption experience, it does nothing for authoring. Given that Windows is moving to a model where many things are asynchronous, authoring of callbacks is very important and there aren&amp;rsquo;t many consumption scenarios that wouldn&amp;rsquo;t include at least some authoring. Also, authoring is very important for writing UI applications as each page and user-defined control is a class derived from an existing Runtime class.&lt;/p&gt;
&lt;p&gt;The design team spent a lot of time discussing what consumption of Windows Runtime components should look like. We decided early on that we should expose classes and interfaces at a higher level than what the ABI defines. Supporting modern C++ features such as exceptions was deemed to be important as well as mapping the Runtime definition of inheritance (both for interfaces and classes) to C++ in such a way that it was natural. It quickly became clear that we would need some new type categories to represent these as we couldn&amp;rsquo;t change what the existing C++ ABI meant. We went through a lot of different names and it wasn&amp;rsquo;t until we decided to use the &lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt; that we also decided to use &lt;span style="font-family: Courier New;" face="Courier New"&gt;ref class&lt;/span&gt; to indicate the authoring of a Windows Runtime class.&lt;/p&gt;
&lt;p&gt;We also spent a lot of time exploring various approaches to how to hold onto a pointer to a WinRT class or interface. Part of this decision was also how to tell the difference between a low-level version of an interface and the high-level version of the interface. We had a lot of different proposals including just using a &lt;span style="font-family: Courier New;" face="Courier New"&gt;*&lt;/span&gt;, using &lt;span style="font-family: Courier New;" face="Courier New"&gt;*&lt;/span&gt; with a modifier, and using various other characters such as the &amp;lsquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;@&lt;/span&gt;&amp;rsquo; symbol. In the original extensions we did for managed code, we in fact did use a &lt;span style="font-family: Courier New;" face="Courier New"&gt;*&lt;/span&gt; with a modifier (&lt;span style="font-family: Courier New;" face="Courier New"&gt;__gc&lt;/span&gt;). We realized we would have many of the same problems if we followed that route. Some of the breakthroughs came when we started thinking about what the type of a pointer dereference would be. This made us realize that what we were doing was similar to what we did when C++/CLI was designed. At one point, someone suggested &amp;ldquo;&lt;em&gt;Why don&amp;rsquo;t we just use the &lt;/em&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt;&lt;em&gt; symbol?&lt;/em&gt;&amp;rdquo; After the laughter died down, it started making a lot of sense. On design point after design point, we often came to the same design decision we had made for C++/CLI.&lt;/p&gt;
&lt;p&gt;Many of the concepts we were trying to express were already present in the C++/CLI syntax. Given that reference counting is a form of garbage collection, using &lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt; to represent a &amp;ldquo;&lt;em&gt;refcounted&lt;/em&gt;&amp;rdquo; pointer in ZW fits quite well. Dereferencing of a &lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt; yields a &lt;span style="font-family: Courier New;" face="Courier New"&gt;%&lt;/span&gt;, also like C++/CLI. While many concepts are expressed the same way, there are a few areas where we decided to deviate from C++/CLI. For example, in C++/CX, the default interface on a class is specified through an attribute in the interface list while in C++/CLI it is an attribute on the class itself.&lt;/p&gt;
&lt;p&gt;In C++/CX we have a much better story than C++/CLI when it comes to interoperating references types with regular types. In C++/CLI, managed objects can move around in memory as the garbage collector runs. This means you can&amp;rsquo;t get the real address of a member (without pinning) or even embed anything except primitive types (i.e. &lt;span style="font-family: Courier New;" face="Courier New"&gt;int&lt;/span&gt;) into your class. You also cannot put a &lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt; into a native &lt;span style="font-family: Courier New;" face="Courier New"&gt;class&lt;/span&gt; or &lt;span style="font-family: Courier New;" face="Courier New"&gt;struct&lt;/span&gt;. In C++/CX, objects do not move around in memory and thus all of these restrictions are gone. You can put any type into a ref class and you can put a &lt;span style="font-family: Courier New;" face="Courier New"&gt;^&lt;/span&gt; anywhere. This model is much friendlier to normal C++ types and gives the programmer more flexibility in C++/CX.&lt;/p&gt;
&lt;p&gt;We will be providing more insight into our design over the coming months. If there are specific things you would like to know more about, please let us know.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10228473" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/COM/">COM</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B002F00_CX/">C++/CX</category></item><item><title>C9 Lecture: C Runtime (CRT) Topics, by Mahmoud Saleh</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/11/10222603.aspx</link><pubDate>Tue, 11 Oct 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10222603</guid><dc:creator>Diego Dagum - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10222603</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/10/11/10222603.aspx#comments</comments><description>&lt;p&gt;In a recent Going Native episode in Channel 9, Charles (Torre) and I interviewed &lt;strong&gt;Mahmoud Saleh&lt;/strong&gt;, the software engineer who keeps the C Runtime library.&lt;/p&gt;
&lt;p&gt;Now Mahmoud prepared for you a &lt;a href="http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Mahmoud-Saleh-Advanced-CRT"&gt;1-hour lecture&lt;/a&gt; on some of the CRT topics like&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memory leak detection (CRT debug heap).&lt;/li&gt;
&lt;li&gt;Unhandled exceptions.&lt;/li&gt;
&lt;li&gt;Assert and error reporting.&lt;/li&gt;
&lt;li&gt;CRT entry points.&lt;/li&gt;
&lt;li&gt;CRT support for Unicode.&lt;/li&gt;
&lt;li&gt;SBCS and MBCC. And&lt;/li&gt;
&lt;li&gt;Optimizing file IO in CRT.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Mahmoud-Saleh-Advanced-CRT"&gt;[Watch this Channel 9 lecture]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Mahmoud-Saleh-Advanced-CRT"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Mahmoud Saleh on the C Runtime (CRT)" border="0" alt="Mahmoud Saleh on the C Runtime (CRT)" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1538.image_5F00_7ADFE540.png" width="644" height="391" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10222603" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/exception+handling/">exception handling</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/memory+management/">memory management</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C+Runtime+Library+_2800_CRT_2900_/">C Runtime Library (CRT)</category></item><item><title>Announcing Wrox's Professional C++, 2nd Edition</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/10/10222600.aspx</link><pubDate>Mon, 10 Oct 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10222600</guid><dc:creator>vcblog</dc:creator><slash:comments>13</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10222600</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/10/10/10222600.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-2nd-Edition.productCd-0470932449.html"&gt;&lt;img style="background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="9780470932445 cover.indd" border="0" alt="9780470932445 cover.indd" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/0312.clip_5F00_image001_5F00_136B98C1.jpg" width="194" height="244" /&gt;&lt;/a&gt;Greetings! I&amp;rsquo;m &lt;strong&gt;Marc Gregoire, a Microsoft MVP VC++&lt;/strong&gt; since 2007, and I&amp;rsquo;m pleased to tell you that I&amp;rsquo;ve finished work on my book &amp;ldquo;&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-2nd-Edition.productCd-0470932449.html"&gt;&lt;strong&gt;Professional C++, Second Edition&lt;/strong&gt;&lt;/a&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This second edition includes the &lt;strong&gt;latest C++ standard, C++11&lt;/strong&gt;, and is based on the great first edition written by Nicholas A. Solter, Scott J. Kleper. The book is published by Wiley/Wrox.&lt;/p&gt;
&lt;p&gt;Here is the official description for the book:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Essential reading for experienced developers who are determined to master the latest release of C++&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Although C++ is often the language of choice from game programming to major commercial software applications, it is also one of the most difficult to master. With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applications that solve real-world problems and then implement the solution using the full capabilities of the language.&lt;/p&gt;
&lt;p&gt;Appeals to experienced developers who are looking for a higher level of learning&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Drills down the extensive changes to the latest C++ standard, C++11, including enhancements made to run-time performance, standard library, language usability, and core language&lt;/li&gt;
&lt;li&gt;Zeroes in on explaining the more poorly understood elements of the C++ feature set and addresses common pitfalls to avoid&lt;/li&gt;
&lt;li&gt;Includes case studies that feature extensive, working code that has been tested on Windows and Linux platforms&lt;/li&gt;
&lt;li&gt;Intertwines text with useful tips, tricks, and workarounds&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Packed with best practices for programming, testing, and debugging applications, this book is vital for taking your C++ skills to the next level.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Links:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-2nd-Edition.productCd-0470932449.html"&gt;http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-2nd-Edition.productCd-0470932449.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wiley.com/buy/0470932449"&gt;http://www.wiley.com/buy/0470932449&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.facebook.com/professionalcpp"&gt;http://www.facebook.com/professionalcpp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10222600" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/STL/">STL</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_0x/">C++0x</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_+language/">C++ language</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/standard+libraries/">standard libraries</category></item><item><title>C9::GoingNative 2: the Windows Runtime Library (WRL)</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/10/04/10219850.aspx</link><pubDate>Tue, 04 Oct 2011 16:03:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10219850</guid><dc:creator>vcblog</dc:creator><slash:comments>23</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10219850</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/10/04/10219850.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-2-C-at-BUILD-Windows-Runtime-LibraryWRL-Meet-Tarek-and-Sridhar"&gt;&lt;img style="margin: 0px 5px 0px 0px;" title="Click to watch the episode in Channel 9" border="0" alt="Click to watch the episode in Channel 9" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5123.image_5F00_1D27614A.png" width="244" height="138" /&gt;&lt;/a&gt;We're back with &lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-2-C-at-BUILD-Windows-Runtime-LibraryWRL-Meet-Tarek-and-Sridhar"&gt;the third installment of &lt;strong&gt;C9::GoingNative&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the recent //BUILD conference, we introduced a series of technologies targeting the upcoming version of the Windows platform. One of those consists in some extensions to the C++ language, intended to help developers bridge their C++ logic to the &lt;em&gt;Windows Runtime (WinRT) environment&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;C++/CX&lt;/em&gt; (the name of these extensions) is a lightweight syntax for COM creation, being COM the framework that allows components written in different languages to interoperate in Windows. In practice, it allows the user interface to be designed with &lt;em&gt;ad hoc&lt;/em&gt; tools like MS Expression (XAML) or any HTML5 editor, while adding application behavior in C++.&lt;/p&gt;
&lt;p&gt;The reception of C++/CX is mixed so far. It&amp;rsquo;s being appreciated for those developers who considered COM a complex technology despite its usefulness. It&amp;rsquo;s not much liked by developers who dealt with COM or the Active Template Library (ATL), an abstraction layer to make COM creation easier.&lt;/p&gt;
&lt;p&gt;These last ones asked about an approach that doesn&amp;rsquo;t involve non-standard language extensions but an API that encapsulated COM complexities. Such API is called &lt;em&gt;Windows Runtime Library (WRL)&lt;/em&gt; and follows the principles of ATL, re-implementing those for the Windows Runtime though.&lt;/p&gt;
&lt;p&gt;In this episode, we interviewed &lt;strong&gt;Sridhar Madhugiri&lt;/strong&gt;, one of the authors of the WRL, who answered for us questions like &lt;em&gt;When&lt;/em&gt; would you use WRL? &lt;em&gt;Why&lt;/em&gt; would you use WRL? &lt;em&gt;How&lt;/em&gt; do you use WRL?&lt;/p&gt;
&lt;p&gt;Prior to that &lt;strong&gt;Tarek Madkour&lt;/strong&gt;, a leader on the VC++ team, shares some wise perspectives on modern C++ for Windows 8 (Metro style apps). &lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-2-C-at-BUILD-Windows-Runtime-LibraryWRL-Meet-Tarek-and-Sridhar"&gt;Enjoy this episode!!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10219850" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/WRL/">WRL</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Windows+Runtime+Library/">Windows Runtime Library</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/WinRT/">WinRT</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Windows+Runtime/">Windows Runtime</category></item><item><title>Asynchronous Operations in Windows 8 with the Parallel Patterns Library (PPL)</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/09/27/10216870.aspx</link><pubDate>Tue, 27 Sep 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10216870</guid><dc:creator>vcblog</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The Concurrency Runtime team is working on the next generation of the Parallel Patterns Library (PPL) that will help you consume asynchronous operations in your apps using a simpler development model than the one Windows 8 has built-in as part of its Windows Runtime.&lt;/p&gt;
&lt;p&gt;In that sense, they recently published &lt;a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2011/09/22/windows-8-asynchrony-with-ppl.aspx"&gt;a blog post&lt;/a&gt; explaining the rationale behind their abstraction library, and not less importantly, &lt;a href="http://code.msdn.microsoft.com/windowsapps/Windows-8-Asynchronous-08009a0d"&gt;a set of samples&lt;/a&gt; showing these in action.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10216870" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Parallelism/">Parallelism</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/asynchronous+operations/">asynchronous operations</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/ConcRT/">ConcRT</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/concurrency+runtime/">concurrency runtime</category></item><item><title>Building Metro Style Apps with C++ and JavaScript</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/09/26/10216117.aspx</link><pubDate>Mon, 26 Sep 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10216117</guid><dc:creator>vcblog</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10216117</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/09/26/10216117.aspx#comments</comments><description>&lt;p&gt;&lt;img style="background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="Raman Sharma" border="0" alt="Raman Sharma" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/8475.image_5F00_3D66E4A7.png" width="107" height="115" /&gt;Hi, I&amp;rsquo;m &lt;strong&gt;Raman Sharma&lt;/strong&gt;, a Program Manager with the Visual C++ team.&lt;/p&gt;
&lt;p&gt;As seen a few weeks ago at &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011" target="_blank"&gt;//BUILD&lt;/a&gt;, in the next version of Visual Studio you&amp;rsquo;ll be able to create Metro style app with Javascript. But this doesn't mean that Javascript is the only language you can use. There are several reasons to leverage compiled code as well.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://channel9.msdn.com/posts/Raman-Sharma-Building-Metro-Style-Apps-with-C-and-JavaScript" target="_blank"&gt;this video&lt;/a&gt; I recently posted in Channel 9, you&amp;rsquo;ll learn how your Metro style app with HTML5 can directly access native code.&lt;/p&gt;
&lt;p&gt;I'll show you &lt;strong&gt;how to access your C++ Windows Runtime components from JavaScript&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;After this talk, you'll understand how to combine native and script code in order to build the most compelling Metro style applications.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/Raman-Sharma-Building-Metro-Style-Apps-with-C-and-JavaScript" target="_blank"&gt;[Watch this video in Channel 9]&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10216117" width="1" height="1"&gt;</description></item><item><title>C++11 Features in Visual C++ 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx</link><pubDate>Mon, 12 Sep 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10209291</guid><dc:creator>vcblog</dc:creator><slash:comments>180</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10209291</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx#comments</comments><description>&lt;p&gt;There's a new C++ Standard and a new version of Visual C++, and it's time to reveal what features from the former we're implementing in the latter!&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Terminology notes&lt;/span&gt;: During its development, the new C++ Standard was (optimistically) referred to as C++0x.&amp;nbsp; It's finally being published in 2011, and it's now referred to as C++11.&amp;nbsp; (Even International Standards slip their release dates.)&amp;nbsp; The Final Draft International Standard is no longer publicly available.&amp;nbsp; It was immediately preceded by Working Paper &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf"&gt;N3242&lt;/a&gt;, which is fairly close in content.&amp;nbsp; (Most of the people who care about the differences are compiler/Standard Library devs who already have access to the FDIS.)&amp;nbsp; Eventually, I expect that the C++11 Standard will be available from ANSI, like C++03 is.&lt;/p&gt;
&lt;p&gt;As for Visual C++, it has three different version numbers, for maximum fun.&amp;nbsp; There's the branded version (printed on the box), the internal version (displayed in Help About), and the compiler version (displayed by cl.exe and the &lt;span style="font-family: Courier New;" face="Courier New"&gt;_MSC_VER&lt;/span&gt; macro - this one is different because our C++ compiler predates the "Visual" in Visual C++).&amp;nbsp; For example:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;VS 2005 == VC8 == _MSC_VER 1400&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;VS 2008 == VC9 == _MSC_VER 1500&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;VS 2010 == VC10 == _MSC_VER 1600&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The final branding for the new version hasn't been announced yet; for now, I'm supposed to say "Visual C++ in Visual Studio 11 Developer Preview".&amp;nbsp; Internally, it's just VC11, and its &lt;span style="font-family: Courier New;" face="Courier New"&gt;_MSC_VER&lt;/span&gt; macro is 1700.&amp;nbsp; (That macro is of interest to people who want to target different major versions of VC and emit different code for them.)&amp;nbsp; I say VC10 and VC11 because they're nice and simple - the 11 in VC11 does not refer to a year.&amp;nbsp; (VS 2010 == VC10 was a confusing coincidence.)&lt;/p&gt;
&lt;p&gt;If you read &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2010/04/06/c-0x-core-language-features-in-vc10-the-table.aspx"&gt;C++0x Core Language Features In VC10: The Table&lt;/a&gt; last year, the following table will look familiar to you.&amp;nbsp; This time, I started with GCC's table again, but I reorganized it more extensively for increased accuracy and clarity (as many features went through significant revisions):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 410px; list-style-type: disc; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212pt; mso-width-source: userset; mso-width-alt: 10349;" width="283" /&gt;&lt;col style="width: 48pt;" width="64" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl65" height="20" width="282"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2869.html" target="_blank"&gt;C++11 Core Language Features&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl66" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl66" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Rvalue references &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html" target="_blank"&gt;v0.1&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html" target="_blank"&gt;v1.0&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2844.html" target="_blank"&gt;v2.0&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1138" target="_blank"&gt;v2.1&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html" target="_blank"&gt;v3.0&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v2.0&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v2.1*&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm" target="_blank"&gt;ref-qualifiers&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm" target="_blank"&gt;Non-static data member initializers&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Variadic templates &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf" target="_blank"&gt;v0.9&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf" target="_blank"&gt;v1.0&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm" target="_blank"&gt;Initializer lists&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html" target="_blank"&gt;static_assert&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;auto &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf" target="_blank"&gt;v0.9&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm" target="_blank"&gt;v1.0&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.0&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm" target="_blank"&gt;Trailing return types&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Lambdas &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2550.pdf" target="_blank"&gt;v0.9&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2658.pdf" target="_blank"&gt;v1.0&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf" target="_blank"&gt;v1.1&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.0&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.1&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;decltype&lt;/span&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf" target="_blank"&gt;v1.0&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_blank"&gt;v1.1&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.0&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;v1.1**&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html" target="_blank"&gt;Right angle brackets&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226" target="_blank"&gt;Default template arguments for function templates&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html" target="_blank"&gt;Expression SFINAE&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf" target="_blank"&gt;Alias templates&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm" target="_blank"&gt;Extern templates&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf" target="_blank"&gt;nullptr&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf" target="_blank"&gt;Strongly typed enums&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf" target="_blank"&gt;Forward declared enums&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf" target="_blank"&gt;Attributes&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf" target="_blank"&gt;constexpr&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf" target="_blank"&gt;Alignment&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;TR1&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf" target="_blank"&gt;Delegating constructors&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm" target="_blank"&gt;Inheriting constructors&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf" target="_blank"&gt;Explicit conversion operators&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html" target="_blank"&gt;char16_t&lt;span style="font-family: Segoe UI;" face="Segoe UI"&gt; and&lt;/span&gt; char32_t&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm" target="_blank"&gt;Unicode string literals&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm" target="_blank"&gt;Raw string literals&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html" target="_blank"&gt;Universal character names in literals&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf" target="_blank"&gt;User-defined literals&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm" target="_blank"&gt;Standard-layout and trivial types&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm" target="_blank"&gt;Defaulted and deleted functions&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf" target="_blank"&gt;Extended friend declarations&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html" target="_blank"&gt;Extended &lt;span style="font-family: Courier New;" face="Courier New"&gt;sizeof&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm" target="_blank"&gt;Inline namespaces&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf" target="_blank"&gt;Unrestricted unions&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm" target="_blank"&gt;Local and unnamed types as template arguments&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html" target="_blank"&gt;Range-based for-loop&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;override&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;final&lt;/span&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2928.htm" target="_blank"&gt;v0.8&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm" target="_blank"&gt;v0.9&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm" target="_blank"&gt;v1.0&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm" target="_blank"&gt;Minimal GC support&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html" target="_blank"&gt;noexcept&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 410px; list-style-type: disc; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212pt; mso-width-source: userset; mso-width-alt: 10349;" width="283" /&gt;&lt;col style="width: 48pt;" width="64" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl65" height="20" width="282"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;C++11 Core Language Features: Concurrency&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl69" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl69" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html" target="_blank"&gt;Reworded sequence points&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html" target="_blank"&gt;Atomics&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html" target="_blank"&gt;Strong compare and exchange&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm" target="_blank"&gt;Bidirectional fences&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm" target="_blank"&gt;Memory model&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl69" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm" target="_blank"&gt;Data-dependency ordering&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm" target="_blank"&gt;Data-dependency ordering: function annotation&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html" target="_blank"&gt;exception_ptr&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm" target="_blank"&gt;quick_exit&lt;span style="font-family: Segoe UI;" face="Segoe UI"&gt; and &lt;/span&gt;at_quick_exit&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm" target="_blank"&gt;Atomics in signal handlers&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm" target="_blank"&gt;Thread-local storage&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm" target="_blank"&gt;Magic statics&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffcccc; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;No&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 410px; list-style-type: disc; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212pt; mso-width-source: userset; mso-width-alt: 10349;" width="283" /&gt;&lt;col style="width: 48pt;" width="64" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl65" height="20" width="282"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;C++11 Core Language Features: C99&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl68" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #f79646; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #f79646 none;" class="xl68" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm" target="_blank"&gt;__func__&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm" target="_blank"&gt;C99 preprocessor&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ffff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl66" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Partial&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: medium none; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-family: Courier New; font-size: 9pt;" face="Courier New" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf" target="_blank"&gt;long long&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ccff99; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: black none;" class="xl67" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;Yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: #f79646 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" height="20"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf" target="_blank"&gt;Extended integer types&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #f79646 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #f79646 0.5pt solid; border-right: #f79646 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl68" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here's a quick guide to this table, but note that I can't explain everything from scratch without writing a whole book, so this assumes moderate familiarity with what's in C++11:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Rvalue references:&lt;/b&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html"&gt;N1610&lt;/a&gt; "Clarification of Initialization of Class Objects by rvalues" was an early attempt to enable move semantics without rvalue references.&amp;nbsp; I'm calling it "rvalue references v0.1", as it's of historical interest only.&amp;nbsp; It was superseded by rvalue references &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html"&gt;v1.0&lt;/a&gt;, the original wording.&amp;nbsp; Rvalue references &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2844.html"&gt;v2.0&lt;/a&gt;, which is what we shipped in VC10 RTM/SP1, prohibits rvalue references from binding to lvalues, fixing a major safety problem.&amp;nbsp; Rvalue references &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1138"&gt;v2.1&lt;/a&gt; refines this rule.&amp;nbsp; Consider &lt;span style="font-family: Courier New;" face="Courier New"&gt;vector&amp;lt;string&amp;gt;::push_back()&lt;/span&gt;, which has the overloads &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(const string&amp;amp;)&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(string&amp;amp;&amp;amp;)&lt;/span&gt;, and the call &lt;span style="font-family: Courier New;" face="Courier New"&gt;v.push_back("meow")&lt;/span&gt;.&amp;nbsp; The expression "meow" is a string literal, and it is an lvalue.&amp;nbsp; (All other literals like 1729 are rvalues, but string literals are special because they're arrays.)&amp;nbsp; The rvalue references v2.0 rules looked at this and said, &lt;span style="font-family: Courier New;" face="Courier New"&gt;string&amp;amp;&amp;amp;&lt;/span&gt; can't bind to "meow" because "meow" is an lvalue, so &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(const string&amp;amp;)&lt;/span&gt; is the only viable overload.&amp;nbsp; This would create a temporary &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::string&lt;/span&gt;, copy it into the vector, then destroy the temporary &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::string&lt;/span&gt;.&amp;nbsp; Yuck!&amp;nbsp; The rvalue references v2.1 rules recognize that binding &lt;span style="font-family: Courier New;" face="Courier New"&gt;string&amp;amp;&amp;amp;&lt;/span&gt; to "meow" would create a temporary &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::string&lt;/span&gt;, and that temporary is an rvalue.&amp;nbsp; Therefore, both &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(const string&amp;amp;)&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(string&amp;amp;&amp;amp;)&lt;/span&gt; are viable, and &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(string&amp;amp;&amp;amp;)&lt;/span&gt; is preferred.&amp;nbsp; A temporary &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::string&lt;/span&gt; is constructed, then moved into the vector.&amp;nbsp; This is more efficient, which is good!&amp;nbsp; (Yes, I'm ignoring the Small String Optimization here.)&lt;/p&gt;
&lt;p&gt;The table says "v2.1*" because these new rules haven't been completely implemented in the VC11 Developer Preview.&amp;nbsp; This is being tracked by an active bug.&amp;nbsp; (Indeed, this is a Standard bugfix.)&lt;/p&gt;
&lt;p&gt;Rvalue references &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html"&gt;v3.0&lt;/a&gt; adds new rules to automatically generate move constructors and move assignment operators under certain conditions.&amp;nbsp; This will not be implemented in VC11, which will continue to follow VC10's behavior of never automatically generating move constructors/move assignment operators.&amp;nbsp; (As with all of the not-yet-implemented features here, this is due to time and resource constraints, and not due to dislike of the features themselves!)&lt;/p&gt;
&lt;p&gt;(By the way, all of this v0.1, v1.0, v2.0, v2.1, v3.0 stuff is my own terminology, which I think adds clarity to C++11's evolution.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Lambdas:&lt;/b&gt; After lambdas were voted into the Working Paper (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2550.pdf"&gt;v0.9&lt;/a&gt;) and mutable lambdas were added (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2658.pdf"&gt;v1.0&lt;/a&gt;), the Standardization Committee overhauled the wording, producing lambdas &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf"&gt;v1.1&lt;/a&gt;.&amp;nbsp; This happened too late for us to implement in VC10, but we've already implemented it in VC11.&amp;nbsp; The lambdas v1.1 wording clarifies what should happen in corner cases like referring to static members, or nested lambdas.&amp;nbsp; This fixes a bunch of bugs triggered by complicated lambdas.&amp;nbsp; Additionally, stateless lambdas are now convertible to function pointers in VC11.&amp;nbsp; This isn't in N2927's wording, but I count it as part of lambdas v1.1 anyways.&amp;nbsp; It's FDIS 5.1.2 [expr.prim.lambda]/6: "The closure type for a &lt;i&gt;lambda-expression &lt;/i&gt;with no &lt;i&gt;lambda-capture &lt;/i&gt;has a public non-virtual non-explicit &lt;span style="font-family: Courier New;" face="Courier New"&gt;const&lt;/span&gt; conversion function to pointer to function having the same parameter and return types as the closure type&amp;rsquo;s function call operator. The value returned by this conversion function shall be the address of a function that, when invoked, has the same effect as invoking the closure type&amp;rsquo;s function call operator."&amp;nbsp; (It's even better than that, since we've made stateless lambdas convertible to function pointers with arbitrary calling conventions.&amp;nbsp; This is important when dealing with APIs that expect &lt;span style="font-family: Courier New;" face="Courier New"&gt;__stdcall&lt;/span&gt; function pointers and so forth.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;decltype&lt;/span&gt;:&lt;/b&gt; After &lt;span style="font-family: Courier New;" face="Courier New"&gt;decltype&lt;/span&gt; was voted into the Working Paper (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf"&gt;v1.0&lt;/a&gt;), it received a small but important bugfix at the very last minute (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf"&gt;v1.1&lt;/a&gt;).&amp;nbsp; This isn't interesting to most programmers, but it's of great interest to programmers who work on the STL and Boost.&amp;nbsp; The table says "v1.1**" because this isn't implemented in the VC11 Developer Preview, but the changes to implement it have already been checked in.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Strongly typed/forward declared enums:&lt;/b&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf"&gt;Strongly typed enums&lt;/a&gt; were partially supported in VC10 (specifically, the part about explicitly specified underlying types), and C++11's semantics for &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf"&gt;forward declared enums&lt;/a&gt; weren't supported at all in VC10.&amp;nbsp; Both have been completely implemented in VC11.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Alignment:&lt;/b&gt; Neither VC10 nor VC11 implement the Core Language keywords &lt;span style="font-family: Courier New;" face="Courier New"&gt;alignas&lt;/span&gt;/&lt;span style="font-family: Courier New;" face="Courier New"&gt;alignof&lt;/span&gt; from the &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf"&gt;alignment&lt;/a&gt; proposal that was voted into the Working Paper.&amp;nbsp; VC10 had aligned_storage from TR1.&amp;nbsp; VC11 adds aligned_union and &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::align()&lt;/span&gt; to the Standard Library.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Standard-layout and trivial types:&lt;/b&gt; As far as I can tell, the user-visible changes from &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm"&gt;N2342&lt;/a&gt; "POD's Revisited; Resolving Core Issue 568 (Revision 5)" are the addition of &lt;span style="font-family: Courier New;" face="Courier New"&gt;is_trivial&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;is_standard_layout&lt;/span&gt; to &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;type_traits&amp;gt;&lt;/span&gt;.&amp;nbsp; (N2342 performed a lot of surgery to Core Language wording, but it just makes stuff well-defined that users could have gotten away with anyways, hence no compiler changes are necessary.)&amp;nbsp; We had these type traits in VC10, but they just duplicated is_pod, so I'm calling that "No" support.&amp;nbsp; In VC11, they're powered by compiler hooks that should give accurate answers.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Extended friend declarations:&lt;/b&gt; Last year, I said that VC10 partially supported this.&amp;nbsp; Upon closer inspection of &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf"&gt;N1791&lt;/a&gt;, I've determined that VC's support for this is essentially complete (it doesn't even emit "non-Standard extension" warnings, unlike some of the other Ascended Extensions in this table).&amp;nbsp; So I've marked both VC10 and VC11 as "Yes".&lt;/p&gt;
&lt;p&gt;&lt;b&gt;override and final:&lt;/b&gt; This went through a short but complicated evolution.&amp;nbsp;&amp;nbsp; Originally (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2928.htm"&gt;v0.8&lt;/a&gt;) there were [[&lt;span style="font-family: Courier New;" face="Courier New"&gt;override&lt;/span&gt;]], [[&lt;span style="font-family: Courier New;" face="Courier New"&gt;hiding&lt;/span&gt;]], and [[&lt;span style="font-family: Courier New;" face="Courier New"&gt;base_check&lt;/span&gt;]] attributes.&amp;nbsp; Then (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm"&gt;v0.9&lt;/a&gt;) the attributes were eliminated and replaced with contextual keywords.&amp;nbsp; Finally (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm"&gt;v1.0&lt;/a&gt;), they were reduced to "&lt;span style="font-family: Courier New;" face="Courier New"&gt;final&lt;/span&gt;" on classes, and "&lt;span style="font-family: Courier New;" face="Courier New"&gt;override&lt;/span&gt;" and "&lt;span style="font-family: Courier New;" face="Courier New"&gt;final&lt;/span&gt;" on functions.&amp;nbsp; This makes it an Ascended Extension, as VC already supports this "&lt;span style="font-family: Courier New;" face="Courier New"&gt;override&lt;/span&gt;" syntax on functions, with semantics reasonably close to C++11's.&amp;nbsp; "&lt;span style="font-family: Courier New;" face="Courier New"&gt;final&lt;/span&gt;" is also supported, but under the different spelling "&lt;span style="font-family: Courier New;" face="Courier New"&gt;sealed&lt;/span&gt;".&amp;nbsp; This qualifies for "Partial" support in my table.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Minimal GC support:&lt;/b&gt; As it turns out, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm"&gt;N2670&lt;/a&gt;'s only user-visible changes are a bunch of no-op Standard Library functions, which we already picked up in VC10.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Reworded sequence points:&lt;/b&gt; After staring at &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html"&gt;N2239&lt;/a&gt;'s changes, replacing C++98/03's "sequence point" wording with C++11's "sequenced before" wording (which is more useful, and more friendly to multithreading), there appears to be nothing for a compiler or Standard Library implementation to do.&amp;nbsp; So I've marked this as N/A.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Atomics, etc.:&lt;/b&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html"&gt;Atomics&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2748.html"&gt;strong compare and exchange&lt;/a&gt;, &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm"&gt;bidirectional fences&lt;/a&gt;, and &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm"&gt;data-dependency ordering&lt;/a&gt; specify Standard Library machinery, which we're implementing in VC11.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Memory model:&lt;/b&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm"&gt;N2429&lt;/a&gt; made the Core Language recognize the existence of multithreading, but there appears to be nothing for a compiler implementation to do (at least, one that already supported multithreading).&amp;nbsp; So it's N/A in the table.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Extended integer types:&lt;/b&gt; &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf"&gt;N1988&lt;/a&gt; itself says: "A final point on implementation cost: this extension will probably cause no changes in most compilers. Any compiler that has no integer types other than those mandated by the standard (and some version of long long, which is mandated by the N1811 change) will likely conform already."&amp;nbsp; Another N/A feature!&lt;/p&gt;
&lt;p&gt;That covers the Core Language.&amp;nbsp; As for the Standard Library, I don't have a pretty table of features, but I do have good news:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;In VC11, we intend to completely support the C++11 Standard Library&lt;/b&gt;, modulo not-yet-implemented compiler features.&amp;nbsp; (Additionally, VC11 won't completely implement the C99 Standard Library, which has been incorporated by reference into the C++11 Standard Library.&amp;nbsp; Note that VC10 and VC11 already have &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;stdint.h&amp;gt;&lt;/span&gt;.)&amp;nbsp; Here's a non-exhaustive list of the changes we're making:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New headers: &lt;/b&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;atomic&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;chrono&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;condition_variable&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;future&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;mutex&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;ratio&amp;gt;&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;scoped_allocator&amp;gt;&lt;/span&gt;, and &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;thread&amp;gt;&lt;/span&gt;.&amp;nbsp; (And I've removed the broken &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;initializer_list&amp;gt;&lt;/span&gt; header that I accidentally left in VC10.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Emplacement: &lt;/b&gt;As required by C++11, we've implemented &lt;span style="font-family: Courier New;" face="Courier New"&gt;emplace()&lt;/span&gt;/&lt;span style="font-family: Courier New;" face="Courier New"&gt;emplace_front()&lt;/span&gt;/&lt;span style="font-family: Courier New;" face="Courier New"&gt;emplace_back()&lt;/span&gt;/&lt;span style="font-family: Courier New;" face="Courier New"&gt;emplace_hint()&lt;/span&gt;/&lt;span style="font-family: Courier New;" face="Courier New"&gt;emplace_after()&lt;/span&gt; in all containers for "arbitrary" numbers of arguments (see below).&amp;nbsp; For example, &lt;span style="font-family: Courier New;" face="Courier New"&gt;vector&amp;lt;T&amp;gt;&lt;/span&gt; has "&lt;span style="font-family: Courier New;" face="Courier New"&gt;template &amp;lt;typename... Args&amp;gt; void emplace_back(Args&amp;amp;&amp;amp;... args)&lt;/span&gt;" which directly constructs an element of type T at the back of the vector from an arbitrary number of arbitrary arguments, perfectly forwarded.&amp;nbsp; This can be more efficient than &lt;span style="font-family: Courier New;" face="Courier New"&gt;push_back(T&amp;amp;&amp;amp;)&lt;/span&gt;, which would involve an extra move construction and destruction.&amp;nbsp; (VC10 supported emplacement from 1 argument, which was not especially useful.)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Faux variadics:&lt;/b&gt; We've developed a new scheme for simulating variadic templates.&amp;nbsp; Previously in VC9 SP1 and VC10, we repeatedly included subheaders with macros defined differently each time, in order to stamp out overloads for 0, 1, 2, 3, etc. arguments.&amp;nbsp; (For example, &amp;lt;memory&amp;gt; included the internal subheader &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;xxshared&amp;gt;&lt;/span&gt; repeatedly, in order to stamp out &lt;span style="font-family: Courier New;" face="Courier New"&gt;make_shared&amp;lt;T&amp;gt;(args, args, args)&lt;/span&gt;.)&amp;nbsp; In VC11, the subheaders are gone.&amp;nbsp; Now we define variadic templates themselves as macros (with lots of backslash-continuations), then expand them with master macros.&amp;nbsp; This internal implementation change has some user-visible effects.&amp;nbsp; First, the code is more maintainable, easier to use (adding subheaders was a fair amount of work), and slightly less hideously unreadable.&amp;nbsp; This is what allowed us to easily implement variadic emplacement, and should make it easier to squash bugs in the future.&amp;nbsp; Second, it's harder to step into with the debugger (sorry!).&amp;nbsp; Third, pair's pair(&lt;span style="font-family: Courier New;" face="Courier New"&gt;piecewise_construct_t, tuple&amp;lt;Args1...&amp;gt;, tuple&amp;lt;Args2...&amp;gt;&lt;/span&gt;) constructor had "interesting" effects.&amp;nbsp; This requires N^2 overloads (if we support up to 10-tuples, that means 121 overloads, since empty tuples count here too).&amp;nbsp; We initially observed that this (spamming out so many pair-tuple overloads, plus all of the emplacement overloads) consumed a massive amount of memory during compilation, so as a workaround we reduced infinity.&amp;nbsp; In VC9 SP1 and VC10, infinity was 10 (i.e. "variadic" templates supported 0 to 10 arguments inclusive).&amp;nbsp; In the VC11 Developer Preview, infinity is 5 by default.&amp;nbsp; This got our compiler memory consumption back to what it was in VC10.&amp;nbsp; If you need more arguments (e.g. you had code compiling with VC9 SP1 or VC10 that used 6-tuples), there's an escape hatch.&amp;nbsp; You can define &lt;span style="font-family: Courier New;" face="Courier New"&gt;_VARIADIC_MAX&lt;/span&gt; project-wide between 5 and 10 inclusive (it defaults to 5).&amp;nbsp; Increasing it will make the compiler consume more memory, and may require you to use the &lt;span style="font-family: Courier New;" face="Courier New"&gt;/Zm&lt;/span&gt; option to reserve more space for PCHes.&lt;/p&gt;
&lt;p&gt;This story has a happy ending, though!&amp;nbsp; Jonathan Caves, our compiler front-end lord, investigated this and found that something our tuple implementation was doing (specifically, lots of default template arguments), multiplied by pair's N^2 overloads, multiplied by how much pair tends to get used by STL programs (e.g. every map), was responsible for the increased memory consumption.&amp;nbsp; He fixed that, and the fix is making its way over to our STL branch.&amp;nbsp; At that point, we'll see if we can raise the &lt;span style="font-family: Courier New;" face="Courier New"&gt;_VARIADIC_MAX&lt;/span&gt; default to 10 again (as I would prefer not to break existing code unnecessarily).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Randomness:&lt;/b&gt; &lt;span style="font-family: Courier New;" face="Courier New"&gt;uniform_int_distribution&lt;/span&gt; is now perfectly unbiased, and we've implemented &lt;span style="font-family: Courier New;" face="Courier New"&gt;shuffle()&lt;/span&gt; in &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;algorithm&amp;gt;&lt;/span&gt;, which directly accepts Uniform Random Number Generators like &lt;span style="font-family: Courier New;" face="Courier New"&gt;mersenne_twister&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resistance to overloaded address-of operators: &lt;/b&gt;C++98/03 prohibited elements of STL containers from overloading their address-of operator.&amp;nbsp; This is what classes like &lt;span style="font-family: Courier New;" face="Courier New"&gt;CComPtr&lt;/span&gt; do, so helper classes like &lt;span style="font-family: Courier New;" face="Courier New"&gt;CAdapt&lt;/span&gt; were required to shield the STL from such overloads.&amp;nbsp; During VC10's development, while massively rewriting the STL (for rvalue references, among other things), our changes made the STL hate overloaded address-of operators even more in some situations.&amp;nbsp; (You might remember one of my VCBlog posts about this.)&amp;nbsp; Then C++11 changed its requirements, making overloaded address-of operators acceptable.&amp;nbsp; (C++11, and VC10, provide the helper function &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::addressof()&lt;/span&gt;, which is capable of getting the true address of an object regardless of operator overloading.)&amp;nbsp; Before VC10 shipped, we attempted to audit all STL containers for occurrences of "&lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;amp;elem&lt;/span&gt;", replacing them with "&lt;span style="font-family: Courier New;" face="Courier New"&gt;std::addressof(elem)&lt;/span&gt;" which is appropriately resistant.&amp;nbsp; In VC11, we've gone further.&amp;nbsp; Now we've audited all containers and all iterators, so classes that overload their address-of operator should be usable throughout the STL.&amp;nbsp; Any remaining problems are bugs that should be reported to us through Microsoft Connect.&amp;nbsp; (As you might imagine, grepping for "&lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;amp;elem&lt;/span&gt;" is rather difficult!)&amp;nbsp; I haven't audited the algorithms yet, but a casual glance indicated to me that they aren't especially fond of taking the addresses of elements.&lt;/p&gt;
&lt;p&gt;We're also going beyond C++11 in a couple of ways:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;SCARY iterators: &lt;/b&gt;As permitted but not required by the C++11 Standard, SCARY iterators have been implemented, as described by &lt;a href="http://www.open-std.org/jtc1/sc22/WG21/docs/papers/2009/n2911.pdf"&gt;N2911&lt;/a&gt; "Minimizing Dependencies within Generic Classes for Faster and Smaller Programs" and &lt;a href="http://www.open-std.org/jtc1/sc22/WG21/docs/papers/2009/n2980.pdf"&gt;N2980&lt;/a&gt; "SCARY Iterator Assignment and Initialization, Revision 1".&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Filesystem:&lt;/b&gt; We've added the &lt;span style="font-family: Courier New;" face="Courier New"&gt;&amp;lt;filesystem&amp;gt;&lt;/span&gt; header from &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1975.html"&gt;the TR2 proposal&lt;/a&gt;, featuring super-cool machinery like recursive_directory_iterator.&amp;nbsp; Note that the 2006 proposal (before work on TR2 was frozen due to C++0x running extremely late and turning into C++11) was derived from Boost.Filesystem V2.&amp;nbsp; It later evolved into &lt;a href="http://www.boost.org/doc/libs/release/libs/filesystem/index.html"&gt;Boost.Filesystem V3&lt;/a&gt;, but that will not be implemented in VC11.&lt;/p&gt;
&lt;p&gt;Finally, in addition to numerous bugfixes, we've performed a major optimization!&amp;nbsp; All of our containers (loosely speaking) are now optimally small given their current representations.&amp;nbsp; This is referring to the container objects themselves, not their pointed-to guts.&amp;nbsp; For example, vector contains three raw pointers.&amp;nbsp; In VC10, x86 release mode, vector was 16 bytes.&amp;nbsp; In VC11, it's 12 bytes, which is optimally small.&amp;nbsp; This is a big deal if you have 100,000 vectors in your program - VC11 will save you 400,000 bytes.&amp;nbsp; Decreased memory usage saves both space and time.&lt;/p&gt;
&lt;p&gt;This was achieved by avoiding the storage of empty allocators and comparators, as &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::allocator&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;std::less&lt;/span&gt; are stateless.&amp;nbsp; (We'll activate these optimizations for custom allocators/comparators too, as long as they're stateless.&amp;nbsp; Obviously, we can't avoid storing stateful allocators/comparators, but those are quite rare.)&lt;/p&gt;
&lt;p&gt;Here are all of the sizes for x86 and x64.&amp;nbsp; (32-bit ARM is equivalent to x86 for these purposes).&amp;nbsp; Naturally, these tables cover release mode, as debug mode contains checking machinery that consumes space and time.&amp;nbsp; I have separate columns for VC9 SP1, where &lt;span style="font-family: Courier New;" face="Courier New"&gt;_SECURE_SCL&lt;/span&gt; defaulted to 1, and for VC9 SP1 with &lt;span style="font-family: Courier New;" face="Courier New"&gt;_SECURE_SCL&lt;/span&gt; manually set to 0 for maximum speed.&amp;nbsp; VC10 and VC11 default &lt;span style="font-family: Courier New;" face="Courier New"&gt;_SECURE_SCL&lt;/span&gt; to 0 (now known as &lt;span style="font-family: Courier New;" face="Courier New"&gt;_ITERATOR_DEBUG_LEVEL&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 545px; list-style-type: disc; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212pt; mso-width-source: userset; mso-width-alt: 10349;" width="283" /&gt;&lt;col style="width: 53pt; mso-width-source: userset; mso-width-alt: 2596;" width="71" /&gt;&lt;col style="width: 48pt;" width="64" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 24pt;" height="32"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #9bbb59; vertical-align: middle; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #9bbb59 none;" class="xl67" height="32" width="282" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;x86 Container Sizes (Bytes)&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #9bbb59; vertical-align: middle; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #9bbb59 none;" class="xl67" width="70" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC9 SP1&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #9bbb59; vertical-align: middle; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #9bbb59 none;" class="xl68" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC9 SP1 &lt;br /&gt;SCL=0&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #9bbb59; vertical-align: middle; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #9bbb59 none;" class="xl67" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #9bbb59; vertical-align: middle; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #9bbb59 none;" class="xl67" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;vector&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;array&amp;lt;int, 5&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;deque&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;forward_list&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;list&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;priority_queue&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;queue&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;stack&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;pair&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;tuple&amp;lt;int, int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;72&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;44&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #ebf1de; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #ebf1de none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: #c4d79b 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;wstring&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;28&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #c4d79b 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #c4d79b 0.5pt solid; border-right: #c4d79b 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 545px; list-style-type: disc; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212pt; mso-width-source: userset; mso-width-alt: 10349;" width="283" /&gt;&lt;col style="width: 53pt; mso-width-source: userset; mso-width-alt: 2596;" width="71" /&gt;&lt;col style="width: 48pt;" width="64" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height: 24pt;" height="32"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #4f81bd; vertical-align: middle; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none;" class="xl67" height="32" width="282" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;x64 Container Sizes (Bytes)&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #4f81bd; vertical-align: middle; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none;" class="xl67" width="70" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC9 SP1&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #4f81bd; vertical-align: middle; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none;" class="xl68" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC9 SP1 &lt;br /&gt;SCL=0&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #4f81bd; vertical-align: middle; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none;" class="xl67" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC10&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #4f81bd; vertical-align: middle; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #4f81bd none;" class="xl67" width="64" align="center"&gt;&lt;span style="color: #ffffff; font-size: 9pt;" color="#ffffff"&gt;&lt;strong&gt;VC11&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;vector&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;48&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;array&amp;lt;int, 5&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;deque&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;48&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;forward_list&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;list&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;56&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;priority_queue&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;56&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;queue&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;48&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;stack&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;48&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;pair&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;tuple&amp;lt;int, int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;12&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;24&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;16&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;hash_multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_map&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_multimap&amp;lt;int, int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_set&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;unordered_multiset&amp;lt;int&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;144&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;88&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;64&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; background: #dce6f1; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none; mso-pattern: #dce6f1 none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 15pt;" height="20"&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: #95b3d7 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl66" height="20" align="right"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="color: #000000; font-size: 11pt;" color="#000000"&gt;wstring&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: medium none; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;40&lt;/span&gt;&lt;/td&gt;
&lt;td style="border-bottom: #95b3d7 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: #95b3d7 0.5pt solid; border-right: #95b3d7 0.5pt solid; padding-top: 1px; text-underline-style: none; text-line-through: none;" class="xl65" align="center"&gt;&lt;span style="color: #000000; font-size: 9pt;" color="#000000"&gt;32&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stephan T. Lavavej&lt;/strong&gt; &lt;br /&gt;Visual C++ Libraries Developer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10209291" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/STL/">STL</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/compiler/">compiler</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_0x/">C++0x</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/standard+libraries/">standard libraries</category></item><item><title>First Look at the New C++ IDE Productivity Features in Visual Studio 11 (Cont’d…)</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/09/06/10206959.aspx</link><pubDate>Tue, 06 Sep 2011 22:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10206959</guid><dc:creator>vcblog</dc:creator><slash:comments>27</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10206959</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/09/06/10206959.aspx#comments</comments><description>&lt;p&gt;Hi! I am &lt;strong&gt;Amit Mohindra, a Program Manager on the Visual C++ team&lt;/strong&gt;. Earlier in the month my colleague Sumit Kumar had talked about &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2011/08/24/10200097.aspx"&gt;some of the exciting IDE features in the next version of Visual Studio&lt;/a&gt;. Today I will just add to that list a few more features that we have done in the next version of the IDE to help you be more productive.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Project Compatibility = No Upgrade (Yay!)&lt;/h3&gt;
&lt;p&gt;Over the years one of the pain points for our customers has been the upgrade cost associated with a new release of Visual Studio . The cost associated with upgrade from Visual Studio 2008 to Visual Studio 2010 especially for Visual C++ customers was steep because of breaking compiler changes and a totally new project and build system based on MSBuild.&lt;/p&gt;
&lt;p&gt;In Visual Studio 11 we have eliminated this cost for you by supporting project (asset) compatibility between Visual Studio 2010 and Visual Studio 11. What this means is that you will be able to open and work (build etc.) in Visual Studio&amp;nbsp;11 with your Visual Studio 2010 projects &lt;strong&gt;without needing to upgrade&lt;/strong&gt; your project files.&lt;/p&gt;
&lt;p&gt;The upgrade wizard is gone. &lt;img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/8053.wlEmoticon_2D00_smile_5F00_0A1BD7A1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="The upgrade wizard is gone" border="0" alt="The upgrade wizard is gone" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3755.clip_5F00_image001_5F00_5ED74099.png" width="427" height="327" /&gt;&lt;/p&gt;
&lt;p&gt;The upgrade wizard does not pop-up when you load a Visual Studio 2010 project in Visual Studio 11. It just loads &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/8053.wlEmoticon_2D00_smile_5F00_0A1BD7A1.png" /&gt;. You can build the project using Visual Studio 2010 tools in Visual Studio 11 using the multi targeting feature, which I will explain more below. This means while you adapt to using the new compiler and your 3rd parties vendors provide you with binaries compatible with the Visual Studio&amp;nbsp;11 compiler you can still leverage the new Visual Studio 11 IDE without disrupting your ship cycle. Just set the platform toolset property to v100 in the property pages (requires Visual Studio 2010 to be installed side-by-side with Visual Studio 11). Since there is no upgrade while you are using the Visual Studio 2010 tools (v100) to build you can continue load the project/solution in Visual Studio 2010 as well.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Setting the platform toolkit" border="0" alt="Setting the platform toolkit" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6403.clip_5F00_image003_5F00_70B3D466.jpg" width="628" height="243" /&gt;&lt;/p&gt;
&lt;p&gt;You might be thinking &amp;ldquo;wait!!!!&amp;rdquo; if I have more than 200 native projects I don&amp;rsquo;t want to be changing the platform toolset property for each project.&lt;/p&gt;
&lt;p&gt;We have solved that problem in Visual Studio&amp;nbsp;11 by providing a way for you to update your toolset right from the solution file. Right clicking on your solution file brings up a context menu from which you can choose to update the toolset for all your native projects.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Massive update of the toolset property" border="0" alt="Massive update of the toolset property" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5635.clip_5F00_image004_5F00_1781EAA7.png" width="465" height="563" /&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t get scared by the word &amp;ldquo;Upgrade&amp;rdquo;, this option only updates the toolset property for each of your native projects in the solution to use Visual Studio&amp;nbsp;11 build tools (v110). Note that we are actively working on improving the usability experience around this feature.&lt;/p&gt;
&lt;p&gt;Note this feature is just not limited to solutions with just Visual C++ project but is valid for mixed solutions as well which might contain some Visual C++ projects and say some C# projects. In the coming weeks you will hear more about this.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Support for Visual Studio Templates (VSTemplates)&lt;/h3&gt;
&lt;p&gt;Visual Studio 2010 and previous releases for C++ offered a way of creating project templates using an old .vsz/.vsdir format. This format is quite old and does not support the functionality of publishing the templates on the extension gallery for other customer to download and consume. Visual Studio&amp;nbsp;11 for C++ supports the &amp;rdquo;vstemplates&amp;rdquo; format for authoring your custom project and item templates that will allow for any new templates to leverage the infrastructure to publish the templates online on the extension gallery.&lt;/p&gt;
&lt;p&gt;You could either hand author your custom &amp;ldquo;vstemplate&amp;rdquo; files using the schema or if you are working on a project you could use Visual Studio to export it to a template as shown below.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Authoring templates in Visual Studio" border="0" alt="Authoring templates in Visual Studio" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4657.clip_5F00_image006_5F00_1062AE2F.jpg" width="629" height="446" /&gt;&lt;/p&gt;
&lt;p&gt;Just fill out the details for your template and click finish in the wizard.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Authoring templates in Visual Studio" border="0" alt="Authoring templates in Visual Studio" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5228.clip_5F00_image008_5F00_094371B7.jpg" width="629" height="464" /&gt;&lt;/p&gt;
&lt;p&gt;Now go to File-&amp;gt;New-&amp;gt;Project in Visual Studio&amp;nbsp;11 and your template shows up.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Authoring templates in Visual Studio" border="0" alt="Authoring templates in Visual Studio" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/8865.clip_5F00_image010_5F00_1715B7B2.jpg" width="629" height="462" /&gt;&lt;/p&gt;
&lt;p&gt;Once you have a template you can also upload the template to the extension gallery by creating a VSIX. Instructions on how to create a VSIX are listed &lt;a href="http://msdn.microsoft.com/en-us/library/dd885241.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can learn more on VSTemplates &lt;a href="http://msdn.microsoft.com/en-us/library/6db0hwky(v=VS.100).aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Both of the features above have been requested by you over the years and we are bringing these to you in the next release of Visual Studio. Please share your feedback regarding these features and we will strive to make them better. Please note that the descriptions and screenshots are from our early internal builds. &lt;strong&gt;These features are still under development and could potentially change or not even be included in our final product.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10206959" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/VC_2B002B00_/">VC++</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Upgrade/">Upgrade</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/ALM+_2D00_+Application+Lifecycle+Management/">ALM - Application Lifecycle Management</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Projects/">Projects</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Visual+Studio+Templates/">Visual Studio Templates</category></item><item><title>C9::GoingNative: Visual C++ Upcoming IDE Demos, a CRT Talk and More!!</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/08/29/10200587.aspx</link><pubDate>Mon, 29 Aug 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10200587</guid><dc:creator>Diego Dagum - MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10200587</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/08/29/10200587.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond"&gt;&lt;img style="margin: 0px 5px 0px 0px;" title="Click to watch the episode in Channel 9" border="0" alt="Click to watch the episode in Channel 9" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5123.image_5F00_1D27614A.png" width="244" height="138" /&gt;&lt;/a&gt;Greetings! &lt;strong&gt;Charles Torre&lt;/strong&gt; and I came back with &lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond"&gt;the second episode of &lt;strong&gt;Channel 9 Going Native&lt;/strong&gt;&lt;/a&gt; &amp;ndash;which is actually episode 1, considering that C++, as a C-like language, starts indexing from 0.&lt;/p&gt;
&lt;p&gt;This time we follow up from &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2011/08/24/10200097.aspx" target="_blank"&gt;a recent article&lt;/a&gt; that my colleague and friend Sumit Kumar (Program Manager in the Visual C++ team) wrote last week about &lt;strong&gt;new IDE features and enhancements&lt;/strong&gt; that we plan to ship in the next version. You&amp;rsquo;ll see me searching and finding project assets (source files, classes, etc.) fast with the new Solution Explorer. You will also see the enhanced coloring of source file and how much comprehensible your code looks this way. You&amp;rsquo;ll also see the more proactive IntelliSense (using some fuzzy logic to quickly filter the list as you type the initials of method names like &lt;span style="font-family: Courier New;" face="Courier New"&gt;GetMaxHeight()&lt;/span&gt; or &lt;span style="font-family: Courier New;" face="Courier New"&gt;get_max_height()&lt;/span&gt; &amp;ndash;whichever your naming convention). Possibly the best of all, the addition of long claimed &lt;strong&gt;code snippets&lt;/strong&gt; to C++ development in Visual Studio.&lt;/p&gt;
&lt;p&gt;Then we picked one of the many topics you guys submitted for us to cover, so we visited Mahmoud Saleh, Visual C++ team engineer. He told us about &lt;a href="http://msdn.microsoft.com/en-us/library/abx4dbyh(v=VS.100).aspx" target="_blank"&gt;&lt;strong&gt;the C Runtime Library (CRT)&lt;/strong&gt;&lt;/a&gt; and the role itplays related to&amp;nbsp; the C/C++ compiler, the linker and the underlying Win32 APIs. In most of cases we associate the CRT with the implementation of &lt;span style="font-family: Courier New;" face="Courier New"&gt;printf()&lt;/span&gt; and similar functions, without realizing that even our &lt;span style="font-family: Courier New;" face="Courier New"&gt;main(int, char**)&lt;/span&gt; function &amp;ndash;which we tend to believe that it&amp;rsquo;s the entry point of our application- it&amp;rsquo;s actually delegated the control by this &amp;ldquo;invisible buddy&amp;rdquo; (the fact that we aren&amp;rsquo;t aware at most of times about its omnipresence is part of its success: we just don&amp;rsquo;t need to worry about). Conversely, the executable version of your app doesn&amp;rsquo;t stop working in the closing bracket (&amp;ldquo;&lt;span style="font-family: Courier New;" face="Courier New"&gt;}&lt;/span&gt;&amp;rdquo;) of your &lt;span style="font-family: Courier New;" face="Courier New"&gt;main()&lt;/span&gt;, as Mahmoud will tell what happens &lt;em&gt;after the end&lt;/em&gt;. Mahmoud also talks about how CRT takes care about memory (like static initializers), security (buffer overruns, etc.) and exception handling, among other duties. You&amp;rsquo;ll also review the different ways of linking to the CRT&amp;nbsp;from your application, with their pros and cons.&lt;/p&gt;
&lt;p&gt;In the last segment, Charles describes his experience at &lt;a href="http://cppandbeyond.com/" target="_blank"&gt;&lt;strong&gt;C++ and Beyond&lt;/strong&gt;&lt;/a&gt;, the conference on C++ programming hosted by three luminaries: &lt;a href="http://aristeia.com/" target="_blank"&gt;Scott Meyers&lt;/a&gt; (&lt;em&gt;Effective C++&lt;/em&gt;, &lt;em&gt;More Effective C++&lt;/em&gt;, and &lt;em&gt;Effective STL&lt;/em&gt;), &lt;a href="http://erdani.com/" target="_blank"&gt;Andrei Alexandrescu&lt;/a&gt; (&lt;em&gt;Modern C++ Design&lt;/em&gt;, &lt;em&gt;C++ Coding Standards&lt;/em&gt; &amp;ndash;coauthor- and &lt;em&gt;The D Programming Language&lt;/em&gt;) and (our) &lt;a href="http://www.gotw.ca/" target="_blank"&gt;Herb Sutter&lt;/a&gt; (&lt;em&gt;Exceptional C++&lt;/em&gt;, &lt;em&gt;More Exceptional C++&lt;/em&gt;, &lt;em&gt;Exceptional C++ Style&lt;/em&gt; and the mentioned &lt;em&gt;C++ Coding Standards&lt;/em&gt;). But he doesn&amp;rsquo;t provide just his impressions: he shows us what a few fellow attendees had to say about the event and the speakers.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond" target="_blank"&gt;&lt;strong&gt;[Watch episode 1 on Channel 9]&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10200587" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/IDE/">IDE</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Channel+9/">Channel 9</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Intellisense/">Intellisense</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/editor/">editor</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/standard+libraries/">standard libraries</category></item><item><title>First Look at the New C++ IDE Productivity Features in Visual Studio 11</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/08/24/10200097.aspx</link><pubDate>Thu, 25 Aug 2011 03:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10200097</guid><dc:creator>vcblog</dc:creator><slash:comments>53</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10200097</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/08/24/10200097.aspx#comments</comments><description>&lt;p&gt;&lt;img style="background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" title="Sumit Kumar" border="0" alt="Sumit Kumar" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1526.image_5F00_128A4286.png" width="70" height="92" /&gt;&lt;/p&gt;
&lt;p&gt;Hi! I am &lt;strong&gt;Sumit Kumar&lt;/strong&gt;, a Program Manager on the Visual C++ team.&lt;/p&gt;
&lt;p&gt;Today I will talk to you about some of the exciting &lt;em&gt;new IDE functionality in the next version of Visual Studio&lt;/em&gt; that will make you, the C++ developer, more productive with your daily code focused tasks. In this blog post you will get a preview of the new features that help with &lt;i&gt;code understanding&lt;/i&gt; and &lt;i&gt;editing&lt;/i&gt;. There will be more blog posts talking about other cool new features.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Code Understanding enhancements&lt;/h2&gt;
&lt;h3&gt;Semantic Colorization&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Semantic Colorization&lt;/strong&gt; helps you quickly scan the code and infer more semantic meaning through enhanced visual feedback in the editor. In addition to the keywords, strings and comments, now other tokens like types, enumerations and macros are colorized; the parameters are in italics and so on. The screenshot below shows an example. Notice how the macros, types, function parameters etc. pop out and make understanding code so much easier.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1614.image_5F00_400B6249.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Semantic colorization" border="0" alt="Semantic colorization" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3362.image_5F00_thumb_5F00_78B60C56.png" width="640" height="429" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While there are only a few tokens that are colorized differently by default, around twenty different semantic tokens are exposed to the users as shown in the screenshot below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/2275.image_5F00_510F902C.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Fonts and colors" border="0" alt="Fonts and colors" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4331.image_5F00_thumb_5F00_6528ACB5.png" width="640" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can customize your IDE to colorize these tokens differently. For example, you could choose to colorize local and global variables differently which could be a handy source understanding aid when the variables are identically named but defined in different scopes.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Reference Highlighting&lt;/h3&gt;
&lt;p&gt;Another great productivity feature that aids you in understanding code is &lt;strong&gt;Reference Highlighting&lt;/strong&gt;. When you place your text cursor on a symbol, all the instances of that symbol in the file get highlighted. Only the true references are highlighted &amp;ndash; for example, two symbols with same names in different scopes (say local vs. global) will not be highlighted at the same time. You can use &lt;span style="font-family: Courier New;" face="Courier New"&gt;Ctrl+Shift+Up&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;Ctrl+Shift+Down&lt;/span&gt; keys to move between the highlighted references. This means that you no longer have to invoke Find All References if you are simply looking for symbols within a file. The screenshot below shows how all the instances of the variable &lt;span style="font-family: Courier New;" face="Courier New"&gt;cxExtentMax&lt;/span&gt; inside the function body are highlighted when the cursor is placed on the one referenced in the call to &lt;span style="font-family: Courier New;" face="Courier New"&gt;max()&lt;/span&gt;. But the variable with same name defined outside the function scope is not highlighted.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Reference highlighting" border="0" alt="Reference highlighting" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1614.image_5F00_7D4C1710.png" width="560" height="333" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;New Solution Explorer&lt;/h3&gt;
&lt;p&gt;There are a number of tool windows needed for common everyday tasks &amp;ndash; for example, &lt;span style="font-family: Courier New;" face="Courier New"&gt;Navigate To&lt;/span&gt; is used for searching symbols and files, &lt;span style="font-family: Courier New;" face="Courier New"&gt;Class View&lt;/span&gt; and &lt;span style="font-family: Courier New;" face="Courier New"&gt;Object Browser&lt;/span&gt; are used for inspecting the members of an object, &lt;span style="font-family: Courier New;" face="Courier New"&gt;Find All References&lt;/span&gt; is used for, well, finding references, &lt;span style="font-family: Courier New;" face="Courier New"&gt;Call Hierarchy&lt;/span&gt; is used for finding the calls to and from a function etc. Imagine being able to do all of these operations from a single tool window without having to switch context or sacrifice additional precious screen real-estate. The new &lt;strong&gt;Solution Explorer&lt;/strong&gt; combines most of the functionality of these tool windows into one place, itself! Of course, the other tool windows will still be available in Visual Studio, but the goal of the new Solution Explorer is to significantly reduce the need to invoke them for the most common scenarios. A detailed description of all of the new functionality provided by the versatile new Solution Explorer is a separate blog topic in itself, but here is a sampling:&lt;/p&gt;
&lt;p&gt;You can &lt;b&gt;expand&lt;/b&gt; your files to see the fields, functions and types contained in the files and the members contained in the types.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="New Solution Explorer" border="0" alt="New Solution Explorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/8154.image_5F00_1CFAF0D9.png" width="393" height="485" /&gt;&lt;/p&gt;
&lt;p&gt;It allows you to &lt;b&gt;search&lt;/b&gt; your entire solution all the way to the members of individual classes.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="New Solution Explorer" border="0" alt="New Solution Explorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4747.image_5F00_0392ED9F.png" width="383" height="578" /&gt;&lt;/p&gt;
&lt;p&gt;You can &lt;b&gt;navigate back and forward&lt;/b&gt; between different views of the Solution Explorer and can create &lt;b&gt;multiple instances&lt;/b&gt; of Solution Explorer rooted at different nodes if needed. You can also &lt;b&gt;scope&lt;/b&gt; the view to just a specific project or file or type.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="New Solution Explorer" border="0" alt="New Solution Explorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3264.image_5F00_3C3D97AC.png" width="394" height="175" /&gt;&lt;/p&gt;
&lt;p&gt;The view in &lt;b&gt;editor automatically syncs&lt;/b&gt; with the view in Solution Explorer. Clicking on a symbol node in the Solution Explorer takes you to the definition of that symbol in the editor. You can also see the relationship between functions such as &lt;span style="font-family: Courier New;" face="Courier New"&gt;Calls to&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;Calls from&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;References&lt;/span&gt;, and &lt;span style="font-family: Courier New;" face="Courier New"&gt;Inheritance&lt;/span&gt; for functions and types from within the Solution Explorer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5482.image_5F00_15034E77.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="New Solution Explorer" border="0" alt="New Solution Explorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6472.image_5F00_thumb_5F00_7B2F1847.png" width="640" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="New Solution Explorer" border="0" alt="New Solution Explorer" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/6087.image_5F00_7A56B25D.png" width="612" height="278" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Code Editing enhancements&lt;/h2&gt;
&lt;p&gt;The second category of C++ features helps you with editing code faster.&lt;/p&gt;
&lt;h3&gt;Automatic Display of IntelliSense Member List&lt;/h3&gt;
&lt;p&gt;In Visual Studio 2010 and previous releases, the IntelliSense member list dropdown had to be explicitly invoked either by typing &lt;span style="font-family: Courier New;" face="Courier New"&gt;Ctrl+Space&lt;/span&gt; or &lt;span style="font-family: Courier New;" face="Courier New"&gt;Ctrl+J&lt;/span&gt; or entering a scope resolution operator (::) or element selection operator (&lt;span style="font-family: Courier New;" face="Courier New"&gt;.&lt;/span&gt; or &lt;span style="font-family: Courier New;" face="Courier New"&gt;-&amp;gt;&lt;/span&gt;). In the next version, Visual Studio will &lt;strong&gt;automatically shows the member list drop down&lt;/strong&gt; as you type without the need to explicitly invoke it.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Automatic Display of IntelliSense Member List" border="0" alt="Automatic Display of IntelliSense Member List" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5305.image_5F00_4BFD2CB0.png" width="464" height="261" /&gt;&lt;/p&gt;
&lt;p&gt;The automatic display of member list is smart &amp;ndash; it does not aggressively display the member list when it does not make sense, for example when typing a declaration, there is no aggressive display of member list.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Automatic Display of IntelliSense Member List" border="0" alt="Automatic Display of IntelliSense Member List" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4722.image_5F00_60827C2E.png" width="155" height="39" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Member List Filtering&lt;/h3&gt;
&lt;p&gt;Not only is the member list displayed automatically, it is also filtered as you type to shrink and show only the relevant members. So you can get a filtered result like the screenshot below just by typing two characters&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Member List Filtering" border="0" alt="Member List Filtering" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3757.image_5F00_673585B1.png" width="228" height="229" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Member List Filtering" border="0" alt="Member List Filtering" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/4341.image_5F00_120DE9C4.png" width="214" height="229" /&gt;&lt;/p&gt;
&lt;p&gt;Notice that &lt;span style="font-family: Courier New;" face="Courier New"&gt;pb&lt;/span&gt; is not a prefix or even a substring of the members in the list. The filtering uses a fuzzy logic to find the relevant members quickly. But if you do not like the fuzzy filtering, you can change it to prefix based, or prefix plus camel casing based or turn off the filtering completely.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Code Snippets&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Code Snippets&lt;/strong&gt; help you quickly type the boilerplate code with just a couple of keystrokes. Here&amp;rsquo;s how it works for a switch statement: as you start typing, the IntelliSense member list shows you the relevant code snippet that can be selected by pressing tab.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Code Snippets" border="0" alt="Code Snippets" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/3348.image_5F00_18C0F347.png" width="554" height="335" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Code Snippets" border="0" alt="Code Snippets" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/1108.image_5F00_6A676D99.png" width="314" height="229" /&gt;&lt;/p&gt;
&lt;p&gt;Then modify the expression in the switch statement or just press &lt;span style="font-family: Courier New;" face="Courier New"&gt;Enter&lt;/span&gt; and the entire skeleton of the switch statement is added for you; you only need to fill in the logic!&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Code Snippets" border="0" alt="Code Snippets" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5315.image_5F00_65F0ECD2.png" width="297" height="354" /&gt;&lt;/p&gt;
&lt;p&gt;In addition to the &lt;span style="font-family: Courier New;" face="Courier New"&gt;switch&lt;/span&gt; statement, there are other snippets for basic code constructs available to you &amp;ndash; like &lt;span style="font-family: Courier New;" face="Courier New"&gt;if-else&lt;/span&gt;, &lt;span style="font-family: Courier New;" face="Courier New"&gt;for&lt;/span&gt;&lt;span style="font-family: Segoe UI;" face="Segoe UI"&gt; loop, etc. Each of the snippets saves you from unnecessary typing and lets you focus more on your logic, adding up to significant productivity gains over time!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Additionally, the code snippets feature is extensible so you can also create your own snippets, which is as simple as creating a simple XML file and copying it at a certain location. You can also invoke the code snippets from the context menu in the editor and can either insert a snippet or can surround a selection of code with a code snippet (for example with a &lt;span style="font-family: Courier New;" face="Courier New"&gt;#ifdef&lt;/span&gt; statement).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Many of these code understanding and editing features were requested by you, and are squarely intended to make you more productive with C++ development. Your continued feedback will help us make these features better before they ship. Please note that the descriptions and screenshots are from our early internal builds. &lt;b&gt;These features are still under development and could potentially change or not even be included in our final product&lt;/b&gt;. In addition to these new features, we have done a lot of work on the IDE but I will save those for future blog posts.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/vcblog/archive/2011/09/06/10206959.aspx"&gt;[Keep learning about new features for C++ developers in Visual Studio 11]&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10200097" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/IDE/">IDE</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Intellisense/">Intellisense</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/editor/">editor</category></item><item><title>GoingNative: a New Channel 9 Show Dedicated to Native Development</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/07/28/10190840.aspx</link><pubDate>Thu, 28 Jul 2011 19:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10190840</guid><dc:creator>vcblog</dc:creator><slash:comments>50</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10190840</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/07/28/10190840.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti"&gt;&lt;img style="background-image: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69-metablogapi/5123.image_5F00_1D27614A.png" width="244" height="138" /&gt;&lt;/a&gt;&lt;strong&gt;GoingNative&lt;/strong&gt; is a new, monthly show on &lt;em&gt;Channel 9&lt;/em&gt; dedicated to native development and native developers, with an emphasis on modern C++. In our inaugural episode, we keep things light and easy as we introduce you to what we're doing, why we're doing it, and how it will go down.&lt;/p&gt;
&lt;p&gt;The main goal of episode 0 is to introduce the cast of characters, including your hosts Charles Torre and Diego Dagum, and to present some ideas of how we think this show will be organized and executed. For example, Diego and Charles will typically construct the show, iterate through some code demos of varying complexity, converse with native developers from Microsoft and across the industry, and then destruct the show.&amp;nbsp; &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti"&gt;In this first episode&lt;/a&gt; we do talk about and demo a few new C++ features (&lt;span style="font-family: courier new,courier;"&gt;shared_ptr&lt;/span&gt;, lambdas, &lt;span style="font-family: courier new,courier;"&gt;auto&lt;/span&gt;) and have a conversation with Ale Contenti - development manager of VC's front-end compiler, libraries, and IDE.&lt;/p&gt;
&lt;p&gt;[You can play around with the demos in this episode by downloading the free &lt;strong&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express" target="_blank"&gt;VC++ Express IDE&lt;/a&gt;&lt;/strong&gt;]&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: x-small;" size="2"&gt;Table of Contents&lt;/span&gt; &lt;/strong&gt;(click time code links to navigate player accordingly)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=00m09s"&gt;[00:09]&lt;/a&gt;&amp;nbsp;Charles and Diego construct the show and talk about modern C++ (how 'bout that set, eh?) &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=07m27s"&gt;[07:27]&lt;/a&gt;&amp;nbsp;Diego demos shared_ptr &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=10m01s"&gt;[10:01]&lt;/a&gt;&amp;nbsp;Charles and Diego chat briefly about C++ lambdas &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=10m32s"&gt;[10:32]&lt;/a&gt;&amp;nbsp;Diego demos lambdas &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=12m13s"&gt;[12:13]&lt;/a&gt;&amp;nbsp;Charles and Diego chat briefly about C++ auto keyword (seen in the lambdas demo) &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=13m30s"&gt;[13:30]&lt;/a&gt;&amp;nbsp;Charles and Diego talk about the audience and how you can help us fly this plane &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=15m32s"&gt;[15:32]&lt;/a&gt;&amp;nbsp;Charles interviews Ale Contenti &lt;br /&gt;&lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti/#time=26m35s"&gt;[26:35]&lt;/a&gt;&amp;nbsp;Charles and Diego destruct the show ( it won't usually take this long &lt;img alt="Smiley" src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9" /&gt; )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Go native!&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10190840" width="1" height="1"&gt;</description></item><item><title>Developing Windows Applications in C++ (Articles Series)</title><link>http://blogs.msdn.com/b/vcblog/archive/2011/07/25/10189090.aspx</link><pubDate>Mon, 25 Jul 2011 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10189090</guid><dc:creator>vcblog</dc:creator><slash:comments>24</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/vcblog/rsscomments.aspx?WeblogPostID=10189090</wfw:commentRss><comments>http://blogs.msdn.com/b/vcblog/archive/2011/07/25/10189090.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.gregcons.com/kateblog/" target="_blank"&gt;&lt;img style="margin: 0px 5px 0px 0px;" title="Kate Gregory" border="0" alt="Kate Gregory" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-68-53-metablogapi/0753.image_5F00_7038E8B4.png" width="86" height="107" /&gt;&lt;/a&gt;We got just published &amp;ldquo;&lt;strong&gt;Developing Windows Applications in C++&lt;/strong&gt;&amp;rdquo;,&amp;nbsp; an article series created by &lt;a href="http://channel9.msdn.com/Blogs/Charles/VC-MVP-Summit-Kate-Gregory" target="_blank"&gt;C++ Most Valuable Professional Kate Gregory&lt;/a&gt;. This material is aimed at C++ developers who want to learn how to write Windows applications. It won&amp;rsquo;t teach you C++, or how to use Windows as an end user. But if you know C++ and Windows already, and want to write applications, this is the right spot. It&amp;rsquo;s divided into 6 chapters.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh312853.aspx"&gt;&lt;strong&gt;The tools you need&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;In this chapter you will learn about the Windows SDK and how to get it. Visual Studio will be introduced and the different versions explained. All the demos and samples in this material were developed using Visual Studio 2010 Express, which is available at no charge.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh312793.aspx"&gt;&lt;strong&gt;Windows basics&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;Here you will see how Windows works under the hood. You&amp;rsquo;ll meet words like &amp;ldquo;message&amp;rdquo; and &amp;ldquo;handle&amp;rdquo; that are everywhere for Windows programmers. Windows terminology can be different from what you&amp;rsquo;re used to, so this chapter clarifies a lot of it. You&amp;rsquo;ll also see the various ways that Windows interacts with your application and provides functionality for you.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh314556.aspx"&gt;&lt;strong&gt;A simple Windows application&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;In this chapter, you&amp;rsquo;ll meet the simplest-possible Windows application and understand its structure, and how it works. These concepts will recur in every Windows application you write. You&amp;rsquo;ll also see the starter application that is generated by Visual Studio, and how it differs from the simplest-possible application.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh313028.aspx"&gt;&lt;strong&gt;Typical Windows tasks&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;This chapter starts by transforming the starter application from chapter 3 from a C-style collection of functions into a more object-oriented C++ application. Then it uses Direct2D to paint a simple UI. The sample is further refined by adding reactions to mouse and keyboard events, and then a control is added. You can also see how to show a message box to your users. This gives you all the building blocks for a user interface.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh312851.aspx"&gt;&lt;strong&gt;Working with COM&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;A lot of Windows functionality is provided through COM, the Component Object Model. This chapter focuses on consuming functionality offered by Windows through COM. It covers COM concepts, demonstrates calling the Text-to-Speech capabilities of Windows through COM, and explains many of the coding patterns and conventions you will see in almost every application that uses COM.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/visualc/hh302879.aspx"&gt;&lt;strong&gt;Taking the next steps&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt;This chapter calls out nine other Windows-related technologies that might interest you, and provides links to starting points you can use to explore those. With the foundation provided by the first six chapters, you can start to incorporate many other technologies into your own Windows applications.&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10189090" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/VC_2B002B00_/">VC++</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/C_2B002B00_0x/">C++0x</category><category domain="http://blogs.msdn.com/b/vcblog/archive/tags/DirectX/">DirectX</category></item></channel></rss>
