本文整理汇总了C++中Method::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ Method::isValid方法的具体用法?C++ Method::isValid怎么用?C++ Method::isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Method
的用法示例。
在下文中一共展示了Method::isValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testMethodSearch
void ClassTestSuite::testMethodSearch()
{
Class test = Class::lookup("ClassTest::Test1");
auto retDouble = test.findAllMethods([&](const Method& m) {
return m.returnSpelling() == "double";
});
TS_ASSERT_EQUALS(retDouble.size(), 3);
auto retDoubleStrict = test.findAllMethods([&](const Method& m) {
return m.returnSpelling() == "double" && m.getClass() == test; //filter out inherited methods
});
TS_ASSERT_EQUALS(retDoubleStrict.size(), 2);
auto constMethods = test.findAllMethods([&](const Method& m) {
return m.isConst();
});
TS_ASSERT_EQUALS(constMethods.size(), 2);
Method m = test.findMethod([&](const Method& m) {
return m.name() == "method1";
});
TS_ASSERT(m.isValid());
TS_ASSERT(m.isConst());
TS_ASSERT_EQUALS(m.returnSpelling(), "std::string");
Method m30 = test.findMethod([&](const Method& m) {
return m.name() == "method30";
});
TS_ASSERT(!m30.isValid());
TS_ASSERT_THROWS_ANYTHING(m30.isConst());
}