59 multipleFlags.reset();
97 std::string flagString = flag1.string();
103 std::string binaryStr =
"101";
104 flags.set(binaryStr, 2);
111 BOOST_CHECK_THROW(
flags.set(std::string(
"invalid"), 2), std::invalid_argument);
114 BOOST_CHECK_THROW(
flags.set(std::string(
"100000000"), 2), std::out_of_range);
117 const auto n =
flags.getNames();
118 const auto v =
flags.getValues();
129 std::string
str =
"TestEnum::Bit2";
136 std::string
str =
"Bit4|TestEnum::Bit2 | Bit1 ";
145 std::string
str =
"Bit4,TestEnum::Bit2 , Bit1 ";
154 std::string
str =
"Bit4|TestEnum::Bit2 , Bit1 ";
155 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
159 std::string
str =
"Invalid";
160 BOOST_CHECK_THROW(
flags.set(
str), std::invalid_argument);
184 std::string serialized = serializedFlags.serialize();
188 EFlags deserializedFlags;
189 deserializedFlags.deserialize(serialized);
196 std::string serialized = emptyFlags.serialize();
200 deserialized.deserialize(serialized);
204 EFlags allFlags(EFlags::All);
205 serialized = allFlags.serialize();
208 deserialized.deserialize(serialized);
215 std::string
str =
"999999";
216 BOOST_CHECK_THROW(flag.deserialize(
str), std::out_of_range);
225 EFlags unionFlags = flags1.union_with(flags2);
239 EFlags intersectionFlags = flags3.intersection_with(flags4);