当前位置: 首页>>代码示例>>C++>>正文


C++ Method::isValid方法代码示例

本文整理汇总了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());
}
开发者ID:maxdebayser,项目名称:SelfPortrait,代码行数:38,代码来源:class_test.cpp


注:本文中的Method::isValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。