74 multipleFlags.reset();
112 std::string flagString = flag1.string();
118 std::string binaryStr =
"101";
119 flags.set(binaryStr, 2);
126 BOOST_CHECK_THROW(
flags.set(std::string(
"invalid"), 2), std::invalid_argument);
129 BOOST_CHECK_THROW(
flags.set(std::string(
"100000000"), 2), std::out_of_range);
132 const auto n =
flags.getNames();
133 const auto v =
flags.getValues();
144 std::string
str =
"TestEnum::Bit2";
151 std::string
str =
"Bit4|TestEnum::Bit2 | Bit1 ";
160 std::string
str =
"Bit4,TestEnum::Bit2 , Bit1 ";
169 std::string
str =
"Bit4;TestEnum::Bit2 ; Bit1 ";
178 std::string
str =
"Bit4|TestEnum::Bit2 , Bit1 ";
179 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
183 std::string
str =
"Invalid";
184 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
208 std::string serialized = serializedFlags.serialize();
212 EFlags deserializedFlags;
213 deserializedFlags.deserialize(serialized);
220 std::string serialized = emptyFlags.serialize();
224 deserialized.deserialize(serialized);
228 EFlags allFlags(EFlags::All);
229 serialized = allFlags.serialize();
232 deserialized.deserialize(serialized);
239 std::string
str =
"999999";
240 BOOST_CHECK_THROW(flag.deserialize(
str), std::out_of_range);
249 EFlags unionFlags = flags1.union_with(flags2);
263 auto flagsXOR = flags3 ^ flags4;
267 auto flagsAND = flags3 & flags4;
271 EFlags intersectionFlags = flags3.intersection_with(flags4);