Another “basic” question for the list again,
apologies in advance.
I have a class with a data member which is an enumeration,
e.g.:
typedef enum param_choice
{
PARAM_CHOICE_UINT8,
PARAM_CHOICE_UINT16,
PARAM_CHOICE_UINT32,
PARAM_CHOICE_INT8,
PARAM_CHOICE_BOOL
} param_choice_e;
I can quite happily user the Boost Serialization library to
save and restore a class with a data member of this type:
class Stuff
{
friend std::ostream&
operator<<(std::ostream& os, const Stuff& stuff
friend class
boost::serialization::access;
template<class Archive>
void serialize(Archive& ar,
const unsigned int file_version)
{
ar & BOOST_SERIALIZATION_NVP(choice);
}
param_choice choice;
public:
Stuff () {}
Stuff (param_choice theChoice);
};
This is using XML as the file-format. The data member
appears in the file as an integer.
However, what I would LIKE to do is output the value of “choice”
as a string (e.g. instead of outputing <choice>2</choice>, the file
contains <choice>UINT32</choice>). And do a conversion when I read
it all back in again, of course.
Can someone please provide some pointers to where I can find
out how to do this? Or an example?
Is the solution going to end up along the lines of:
Best regards in anticipation,
Graham.