5

C ++ 0x N3092は、monotonic_clockはオプションであると述べています。

20.10.5.2クラスmonotonic_clock[time.clock.monotonic]

  1. クラスmonotonic_clockのオブジェクトは、物理的な時間が進むにつれてtime_pointの値が決して減少しないクロックを表します。system_clock :: is_monotonicがtrueの場合、monotonic_clockはsystem_clockの同義語である可能性があります。

  2. クラスmonotonic_clockは条件付きでサポートされています。

SFINAEまたは別の手法を使用して、特性クラスを定義し、monotonic_clockが定義されているかどうかを判断できますか?

そうでない場合は、monotonic_clockが使用可能かどうかを示す標準マクロがあるべきではありませんか?

4

2 に答える 2

3

の存在を検出するための完全に標準に準拠した方法はありませんstd::chrono::monotonic_clock。comp.std.c ++に関する議論から明らかなように、名前空間で新しいコードを宣言することを含む、いくつかの非標準準拠の手法がありますstd

于 2010-09-24T06:49:02.697 に答える
0

BOOST_MPL_HAS_XXX_TRAIT_DEFを確認し、スレッドコンパイル時のメンバー検出を確認してください。VisualStudioに非標準のキーワードがあることは知っていますが、他のコンパイラでは使用できません。__if_exists

于 2010-06-02T02:57:42.353 に答える