File: testflags.cpp

package info (click to toggle)
fcitx5 5.1.18-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 32,228 kB
  • sloc: cpp: 110,377; java: 3,125; javascript: 2,137; sh: 1,912; xml: 1,552; python: 1,312; ansic: 843; makefile: 11
file content (23 lines) | stat: -rw-r--r-- 535 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * SPDX-FileCopyrightText: 2017-2017 CSSlayer <wengxt@gmail.com>
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 *
 */
#include "fcitx-utils/flags.h"
#include "fcitx-utils/log.h"

using namespace fcitx;

enum class F { F1 = 1, F2 = 2, F3 = 4 };

int main() {
    Flags<F> f{F::F1, F::F3};
    FCITX_ASSERT(f.test(F::F1));
    FCITX_ASSERT(!f.test(F::F2));
    FCITX_ASSERT(f.test(F::F3));
    FCITX_ASSERT(f.testAny(F::F1));
    FCITX_ASSERT(f.testAny(Flags<F>{F::F1, F::F2}));
    FCITX_ASSERT(f.testAny(F::F3));
    return 0;
}