本文整理汇总了C++中Vector_ModifierFlag::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector_ModifierFlag::push_back方法的具体用法?C++ Vector_ModifierFlag::push_back怎么用?C++ Vector_ModifierFlag::push_back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector_ModifierFlag
的用法示例。
在下文中一共展示了Vector_ModifierFlag::push_back方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(FlagStatus, negative_lock_clear) {
FlagStatus flagStatus;
{
Vector_ModifierFlag v;
v.push_back(ModifierFlag::COMMAND_L);
v.push_back(ModifierFlag::FN);
v.push_back(ModifierFlag::SHIFT_L);
flagStatus.negative_lock_increase(v);
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
flagStatus.increase(v);
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
flagStatus.increase(v);
EXPECT_EQ(ModifierFlag::COMMAND_L | ModifierFlag::FN | ModifierFlag::SHIFT_L, flagStatus.makeFlags());
flagStatus.reset();
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
flagStatus.increase(v);
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
flagStatus.negative_lock_clear();
EXPECT_EQ(ModifierFlag::COMMAND_L | ModifierFlag::FN | ModifierFlag::SHIFT_L, flagStatus.makeFlags());
}
}
示例2: subtract
void FlagStatus::subtract(const FlagStatus& other, Vector_ModifierFlag& modifierFlags) const {
modifierFlags.clear();
if (item_.size() == other.item_.size()) {
for (size_t i = 0; i < item_.size(); ++i) {
int sum1 = item_[i].sum(true);
int sum2 = other.item_[i].sum(true);
if (sum1 > sum2) {
for (int j = 0; j < sum1 - sum2; ++j) {
modifierFlags.push_back(item_[i].flag_);
}
}
}
}
}
示例3: Flags
TEST(FlagStatus, temporary_decrease) {
FlagStatus flagStatus;
{
Vector_ModifierFlag v;
v.push_back(ModifierFlag::COMMAND_L);
v.push_back(ModifierFlag::CONTROL_L);
flagStatus.increase(v);
EXPECT_EQ(Flags(ModifierFlag::COMMAND_L | ModifierFlag::CONTROL_L), flagStatus.makeFlags());
}
flagStatus.temporary_decrease(ModifierFlag::CONTROL_L);
EXPECT_EQ(Flags(ModifierFlag::COMMAND_L), flagStatus.makeFlags());
// temporary_increase will reset by flagStatus.set
flagStatus.set(KeyCode::COMMAND_L, Flags(ModifierFlag::COMMAND_L));
EXPECT_EQ(Flags(ModifierFlag::COMMAND_L | ModifierFlag::CONTROL_L), flagStatus.makeFlags());
}
示例4: fe
TEST(Generic, changePressingState) {
{
FromEvent fe(KeyCode::RETURN);
EXPECT_EQ(false, fe.isPressing());
// ----------------------------------------
// Without Flags
// (For example, "change return to tab".)
{
FlagStatus currentFlags;
Vector_ModifierFlag fromFlags;
EXPECT_EQ(true, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(true, fe.isPressing());
EXPECT_EQ(true, fe.changePressingState(*up_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
// Another event does not modify state
EXPECT_EQ(false, fe.changePressingState(*down_shift, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
EXPECT_EQ(false, fe.changePressingState(*up_shift, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
}
// ----------------------------------------
// Set currentFlags
// (For example, "change return to tab".)
{
Flags f(ModifierFlag::SHIFT_L);
FlagStatus currentFlags(f);
Vector_ModifierFlag fromFlags;
EXPECT_EQ(true, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(true, fe.isPressing());
EXPECT_EQ(true, fe.changePressingState(*up_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
}
// ----------------------------------------
// Set fromFlags
// (For example, "change shift-return to tab".)
{
FlagStatus currentFlags;
Vector_ModifierFlag fromFlags;
fromFlags.push_back(ModifierFlag::SHIFT_L);
// Does not change state if currentFlags lacks flags.
EXPECT_EQ(false, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
EXPECT_EQ(false, fe.changePressingState(*up_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
}
{
Flags f(ModifierFlag::SHIFT_L);
FlagStatus currentFlags(f);
Vector_ModifierFlag fromFlags;
fromFlags.push_back(ModifierFlag::SHIFT_L);
EXPECT_EQ(true, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(true, fe.isPressing());
EXPECT_EQ(true, fe.changePressingState(*up_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
}
{
Flags f(ModifierFlag::SHIFT_L);
FlagStatus currentFlags(f);
Vector_ModifierFlag fromFlags;
fromFlags.push_back(ModifierFlag::SHIFT_L);
EXPECT_EQ(true, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(true, fe.isPressing());
// Change state even if currentFlags lacks flags when key is pressing.
// This behavior is necessary for this case.
// - shift down
// - return down (shift-return is pressed.)
// - shift up
// - return up (shift-return is released.)
currentFlags.reset();
EXPECT_EQ(true, fe.changePressingState(*up_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.isPressing());
// return false if call changePressingState once again.
EXPECT_EQ(false, fe.changePressingState(*up_return, currentFlags, fromFlags));
}
}
{
FromEvent fe(KeyCode::SPACE);
FlagStatus currentFlags;
Vector_ModifierFlag fromFlags;
EXPECT_EQ(false, fe.changePressingState(*down_return, currentFlags, fromFlags));
EXPECT_EQ(false, fe.changePressingState(*up_return, currentFlags, fromFlags));
}
{
FromEvent fe(KeyCode::SHIFT_L);
Flags f(ModifierFlag::SHIFT_L);
FlagStatus currentFlags(f);
//.........这里部分代码省略.........
示例5:
TEST(FlagStatus, isOn) {
{
FlagStatus flagStatus;
{
Vector_ModifierFlag modifierFlags;
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag(ModifierFlag::ZERO));
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::NONE);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::NONE);
modifierFlags.push_back(ModifierFlag::ZERO);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
}
{
FlagStatus flagStatus;
flagStatus.increase(ModifierFlag::SHIFT_L);
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
modifierFlags.push_back(ModifierFlag::NONE);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_R);
EXPECT_FALSE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
modifierFlags.push_back(ModifierFlag::ZERO);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
}
{
FlagStatus flagStatus;
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::ZERO);
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
modifierFlags.push_back(ModifierFlag::NONE);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_R);
EXPECT_FALSE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
modifierFlags.push_back(ModifierFlag::ZERO);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
modifierFlags.push_back(ModifierFlag::ZERO);
modifierFlags.push_back(ModifierFlag::NONE);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
}
}
{
FlagStatus flagStatus;
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::CONTROL_R);
flagStatus.increase(ModifierFlag::COMMAND_R);
{
Vector_ModifierFlag modifierFlags;
modifierFlags.push_back(ModifierFlag::SHIFT_L);
EXPECT_TRUE(flagStatus.isOn(modifierFlags));
//.........这里部分代码省略.........