簡體   English   中英

如何確定std :: chrono :: monotonic_clock是否可用?

[英]How to determine if std::chrono::monotonic_clock is available?

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是否可用?

沒有完全符合標准的方法來檢測std::chrono::monotonic_clock的存在。 從對comp.std.c ++的討論中可以明顯看出,有一些非標准符合技術涉及在命名空間std中聲明新代碼。

看看BOOST_MPL_HAS_XXX_TRAIT_DEF並查看線程編譯時成員檢測 我知道VisualStudio有一個非標准的關鍵字__if_exists ,但AFAIK在其他編譯器上不可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM