Hi folks. I'm learning the basics of the serialization
library right now. I'd like to know if there's a known tactic for archiving enums
with textual tokens, rather than the int value itself. For instance, consider
the following code: I set up an enum called status_t, and a class Foo that has
a status_t as a data member. In Foo's serialize function, I record the status_t
(myStatus).
enum status_t { ON, OFF };
class Foo {
status_t myStatus;
friend class boost::serialization::access;
template<class Archive> serialize(...) {
ar &
BOOST_SERIALIZATION_NVP(myStatus);
}
};
The xml output file looks sort of like this:
<Foo>
<myStatus>0</myStatus>
</Foo>
The file that is generated when serialize() is invoked
certainly works, but the value for myStatus appears as an int. What if I want
to convert the int to a string in the archive? That is, I want the xml file to
look like this:
<Foo>
<myStatus>ON</myStatus>
</Foo>
Are there any good strategies for doing this?
Thanks,
--Steve (sgross@sjm.com)