本文整理汇总了C++中Partial::isFinished方法的典型用法代码示例。如果您正苦于以下问题:C++ Partial::isFinished方法的具体用法?C++ Partial::isFinished怎么用?C++ Partial::isFinished使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Partial
的用法示例。
在下文中一共展示了Partial::isFinished方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: generate
std::vector<typename Partial::SolutionT> generatePar(int depth, Partial const & part, Constraint constr)
{
using SolutionVec = std::vector<typename Partial::SolutionT>;
if (depth == 0)
{
return generate(part, constr);
}
else if (part.isFinished(constr))
{
SolutionVec result{ part.getSolution() };
return result;
}
else
{
Stream<Partial> partList = part.refine(constr);
std::vector<std::future<SolutionVec>> futResult;
forEach(std::move(partList), [&constr, &futResult, depth](Partial const & part)
{
std::future<SolutionVec> futLst =
std::async([constr, part, depth]() {
return generatePar(depth - 1, part, constr);
});
futResult.push_back(std::move(futLst));
});
std::vector<SolutionVec> all = when_all_vec(futResult);
return concatAll(all);
}
}