本文整理汇总了C++中Property::AsInt方法的典型用法代码示例。如果您正苦于以下问题:C++ Property::AsInt方法的具体用法?C++ Property::AsInt怎么用?C++ Property::AsInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Property
的用法示例。
在下文中一共展示了Property::AsInt方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(PropertyTests, IntegerPropertyEncapsulatesIntValue)
{
int c = 1;
Property p = c;
ASSERT_EQ(p.Type(), PropertyTypes::Integer);
ASSERT_NO_THROW(p.AsInt());
ASSERT_EQ(p.AsInt().Get(), 1);
c = 2;
ASSERT_EQ(p.AsInt().Get(), 2);
p.AsInt().Set(3);
ASSERT_EQ(p.AsInt().Get(), 3);
ASSERT_EQ(c, 3);
ASSERT_THROW(p.AsInt().Set(-2147483649LL), std::out_of_range);
ASSERT_THROW(p.AsInt().Set(2147483648LL), std::out_of_range);
}
示例2: return
TEST(PropertyTests, CollectionPropertyCanBeFiltered)
{
std::vector<int> v;
v.push_back(0);
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
Property p = v;
p.AsCollection().Filter([&] (size_t, Property p)
{
return (p.AsInt().Get() & 1) != 0;
});
ASSERT_EQ(v.size(), 2);
ASSERT_EQ(v[0], 1);
ASSERT_EQ(v[1], 3);
}