|
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