Boost logo

Boost :

From: me22 (me22.ca_at_[hidden])
Date: 2005-12-08 10:47:28


Very nice looking library =)

One addition I'd like to see would be a BOOST_ENUM_MASKS or similar:

BOOST_ENUM_MASKS( orders,
 (can_move)
 (can_patrol)
 (can_fire)
)

and etc, where can_move would get 1<<0, can_patrol would get 1<<1, and
etc, so that they could be combind. Automatic "none" and "all" ones
would be nice too.

orders::type allowed_orders = orders::can_fire|orders::can_move;
std::cout << allowed_orders << std::endl;
// would show can_move|can_fire
std::cout << ~allowed_orders << std::endl;
// would show can_patrol
std::cout << orders::all << std::endl;
// would show can_move|can_patrol|can_fire
std::cout << ~orders::all << ' ' << orders::none << std::endl;
// would show none none ( maybe? )

I'm not sure if a _COMMENTS version would be all that useful nor a
_VALUES one. I'm also not sure whether the '|' character should be
configurable. I'll stop thinking now before I come up with an
enum_mask_iterator idea and make this far too complicated :P

- Scott


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk