Moving towards C++11

TR1 (2006)

Visual Studio

Visual Studio 2008 included support for

  • <array>
  • <functional>
  • <memory>
  • <random>
  • <regex>
  • <tuple>
  • <type_traits>
  • <unordered_map>
  • <unordered_set>
  • <utility>

according to In 2008 (VC9 compiler), this was in std::tr1, but as of 2010 (VC10 compiler), this moved to std (since it was approved).


XCode 4 has both GCC and LLVM (Clang) toolchains. LLVM uses the libc++ library, which has these in std. GCC uses libstdc++, which has these in std::tr1.

In terms of what’s supported, it seems like there is full TR1 support.

For C++11, there’s this blog post about how to build a libc++ that works on Mac OS X 10.6:, and also this:, and this makes it seem unlikely to work in reality:

What would be ideal is not statically linking, but including a dylib for libc++ just on Mac OS 10.6 deploys.


GCC 4.2 uses std::tr1. GCC 4.8 uses std.