本文整理汇总了C++中Problem::add方法的典型用法代码示例。如果您正苦于以下问题:C++ Problem::add方法的具体用法?C++ Problem::add怎么用?C++ Problem::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Problem
的用法示例。
在下文中一共展示了Problem::add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: A
TEST(Constraints, Basic) {
typedef Variable<string, set_property_space<int>> Vars;
Vars A("A");
Vars B("B");
Problem<Vars> p;
// check empty problem
EXPECT_EQ("{}",toString(p));
EXPECT_EQ("{}",toString(p.solve()));
// add a constraint
p.add(sub(A, B));
EXPECT_EQ("{\n\tA ⊑ B\n}",toString(p));
EXPECT_EQ("{A->{},B->{}}",toString(p.solve()));
// add another constraints
std::set<int> s = { 1, 2 };
p.add(sub(s,A));
EXPECT_EQ("{\n\tA ⊑ B,\n\t{1,2} ⊑ A\n}",toString(p));
EXPECT_EQ("{A->{1,2},B->{1,2}}",toString(p.solve()));
// and one more
std::set<int> s2 = { 3 };
p.add(sub(s2,B));
EXPECT_EQ("{\n\tA ⊑ B,\n\t{1,2} ⊑ A,\n\t{3} ⊑ B\n}",toString(p));
EXPECT_EQ("{A->{1,2},B->{1,2,3}}",toString(p.solve()));
}