本文整理汇总了C++中process::Future::onAbandoned方法的典型用法代码示例。如果您正苦于以下问题:C++ Future::onAbandoned方法的具体用法?C++ Future::onAbandoned怎么用?C++ Future::onAbandoned使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类process::Future
的用法示例。
在下文中一共展示了Future::onAbandoned方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AwaitAssertAbandoned
::testing::AssertionResult AwaitAssertAbandoned(
const char* expr,
const char*, // Unused string representation of 'duration'.
const process::Future<T>& actual,
const Duration& duration)
{
process::Owned<process::Latch> latch(new process::Latch());
actual.onAny([=]() { latch->trigger(); });
actual.onAbandoned([=]() { latch->trigger(); });
if (!latch->await(duration)) {
return ::testing::AssertionFailure()
<< "Failed to wait " << duration << " for " << expr;
} else if (actual.isDiscarded()) {
return ::testing::AssertionFailure()
<< expr << " was discarded";
} else if (actual.isReady()) {
return ::testing::AssertionFailure()
<< expr << " is ready (" << ::testing::PrintToString(actual.get()) << ")";
} else if (actual.isFailed()) {
return ::testing::AssertionFailure()
<< "(" << expr << ").failure(): " << actual.failure();
}
CHECK_ABANDONED(actual);
return ::testing::AssertionSuccess();
}