
Sebastien Martel wrote:
Is there a way to integrate a solution to this problem :
[google groups] http://tinyurl.com/dtnx3
-seb
Yes, that's actually enumerator-specific methods are what for. Here is an example how it can be done with my library. class part_of_speech_policy { public: class base_enumerator { public: virtual const char *get_encoding() const = 0; }; class coordinating_conjunction: public base_enumerator { public: const char *get_encoding() const { return "CC"; } }; class cardinal_number: public base_enumerator { public: const char *get_encoding() const { return "CD"; } }; class determiner: public base_enumerator { public: const char *get_encoding() const { return "DT"; } }; typedef boost::mpl::vector< coordinating_conjunction , cardinal_number , determiner > enumerators; }; typedef boost::enumeration< part_of_speech_policy > part_of_speech; // somewhere in other place BOOST_STATIC_ASSERT( part_of_speech::size == 3 ); part_of_speech foo = part_of_speech::coordinating_conjunction(); BOOST_CHECK_EQUAL( foo->get_encoding(), "CC" ); Hope it does what you expected. Sincerely yours, Maksym Motornyy.