次のような新しいC++11タイプの特性をサポートするWindows用のC++11コンパイラはありますis_nothrow_move_constructible
か?
私はそれをサポートするコンテナを書き込もうとしていましたが、私のコンパイラ(VC ++ 2010、TDM MinGW32 GCC 4.6)のどれもそれをサポートしていないことがわかりました...
次のような新しいC++11タイプの特性をサポートするWindows用のC++11コンパイラはありますis_nothrow_move_constructible
か?
私はそれをサポートするコンテナを書き込もうとしていましたが、私のコンパイラ(VC ++ 2010、TDM MinGW32 GCC 4.6)のどれもそれをサポートしていないことがわかりました...
mingwについては、ここでSTLのディストリビューション(gcc 4.7.1)をお勧めします。ブースト1.50も付いています。
mingw-w64(元のmingwのフォーク)もあります。ここでrubenvbの個人用ビルドをお勧めします。Toolchains targetting Win32
32ビットバージョンが必要な場合はに移動します。彼はまた、clangの個人ビルドも持っています(Windowsでのclangサポートはまだ非常にバグがあります。x64ビルドはリンカーエラーを報告するため、より良い診断などにのみ使用できます)
STLのディストリビューションは非常に優れていますが、mingw-w64は、win32 api(元のmingwで数え切れないほどの問題に遭遇しました)およびc ++11ヘッダー(<atomic>
元のmingwではサポートされていないものなど)をはるかによくサポートしていることがわかりました。 。mingw-w64は、はるかに積極的に開発されており(32ビットおよび64ビットのバイナリを作成できます)、WindowsVista以降の新しい機能のサポートが含まれています。
Visual Studio C ++ 2012 Betaは、リファレンスによると、多くのC++11タイプの特性をサポートしています。Visual Studio C ++ 2012のドキュメントをご覧ください。ただし、is_nothrow_move_constructible
ドキュメントが見つかりませんでした。ただし、サポートされているようです。
GCC 4.7はis_nothrow_move_constructibleをサポートしており、MinGWDistroをインストールすることでWindowsで試すことができ ます。
答えではありませんが、GCC4.7のtype_traits
ヘッダーのソースコードを見て何かを学びました。
そもそも必要あり ませんis_nothrow_xyz
!
noexcept
演算子は、例外がスローされたかどうかを通知します。
したがって、これらの特定のタイプの特性については、代わりにそれを使用できます。
(または少なくとも理論的には。コンパイラがそれを実装するかどうかは別の問題です。)