30 obj.flags[
i] = (
byte >>
bitidx) & 1;
35 for (
size_t i = 0;
i < obj.flags.size(); ++
i) {
36 x |= (obj.flags[
i] <<
i);
53 byte |= (obj.flags[
i] <<
bitidx);
110 Log::Error(
"XML: Unrecognized field '%s'", name);
132#pragma warning (disable : 4661)
static void BeginXml(S &obj, XmlReader &stream)
static const std::array< const char *const, num_flags > flag_names
static const std::array< bool, num_flags > flags_is2k3
static void ReadLcf(S &obj, LcfReader &stream, uint32_t length)
static void WriteXml(const S &obj, XmlWriter &stream)
static int idx(const char *tag)
static constexpr size_t num_flags
static int LcfSize(const S &obj, LcfWriter &stream)
static void WriteLcf(const S &obj, LcfWriter &stream)
static const char *const name
void StartElement(XmlReader &, const char *name, const char **)
void CharacterData(XmlReader &, const std::string &data)
void EndElement(XmlReader &, const char *)
void Error(const char *fmt,...) LIKE_PRINTF