99 multipleFlags.reset();
137 std::string flagString = flag1.string();
143 std::string binaryStr =
"101";
144 flags.set(binaryStr, 2);
151 BOOST_CHECK_THROW(
flags.set(std::string(
"invalid"), 2), std::invalid_argument);
154 BOOST_CHECK_THROW(
flags.set(std::string(
"100000000"), 2), std::out_of_range);
157 const auto n =
flags.getNames();
158 const auto v =
flags.getValues();
169 std::string
str =
"TestEnum::Bit2";
176 std::string
str =
"Bit4|TestEnum::Bit2 | Bit1 ";
185 std::string
str =
"Bit4,TestEnum::Bit2 , Bit1 ";
194 std::string
str =
"Bit4|TestEnum::Bit2 , Bit1 ";
195 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
199 std::string
str =
"Invalid";
200 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
224 std::string serialized = serializedFlags.serialize();
228 EFlags deserializedFlags;
229 deserializedFlags.deserialize(serialized);
236 std::string serialized = emptyFlags.serialize();
240 deserialized.deserialize(serialized);
244 EFlags allFlags(EFlags::All);
245 serialized = allFlags.serialize();
248 deserialized.deserialize(serialized);
255 std::string
str =
"999999";
256 BOOST_CHECK_THROW(flag.deserialize(
str), std::out_of_range);
265 EFlags unionFlags = flags1.union_with(flags2);
279 EFlags intersectionFlags = flags3.intersection_with(flags4);