5

C++0x N3092 声明 monotonic_clock 是可选的:

20.10.5.2 类 monotonic_clock [time.clock.monotonic]

  1. monotonic_clock 类的对象表示 time_point 的值不会随着物理时间的增加而减少的时钟。如果 system_clock::is_monotonic 为真,则 monotonic_clock 可能是 system_clock 的同义词。

  2. 有条件地支持类 monotonic_clock。

我可以使用 SFINAE 或其他技术来定义特征类以确定是否定义了 monotonic_clock 吗?

如果没有,是否应该有一个标准宏来指示 monotonic_clock 是否可用?

4

2 回答 2

3

没有完全符合标准的方法来检测std::chrono::monotonic_clock. 从 comp.std.c++ 的讨论中可以明显看出,有一些不符合标准的技术涉及在 namespace 中声明新代码std

于 2010-09-24T06:49:02.697 回答
0

查看BOOST_MPL_HAS_XXX_TRAIT_DEF并查看线程编译时成员检测。我知道 VisualStudio 有一个非标准关键字__if_exists,但 AFAIK 它在其他编译器上不可用。

于 2010-06-02T02:57:42.353 回答