views:

90

answers:

2

I have a project where lots of the objects hold state by maintaining simple boolean flags. There are lots of these, so I maintain them within a uint32_t and use bit masking. There are now so many flags to keep track of, I've created an abstraction for them (just a class wrapping the uint32_t) with set(), clear(), etc.

My question: What's a nice accurate, concise name for this class? What name could I give this class so that you'd have a reasonable idea what it was [for] knowing the name only?

Some ideas I had:

  • FlagBank
  • FlagArray
  • etc

Any ideas?

Thanks in advance!
Cheers,
-Chris

+10  A: 

The Standard has such a class template and it is called std::bitset<N> (N for the number of bits/flags). The actual object of this class could be named according its purpose then, like state or something.

Johannes Schaub - litb
+2  A: 

FlagBank would be fairly descriptive.

But I have one suggestion. Instead of using uint32_t and bit masking, it might be less C-like to use an STL vector instead. It uses a template specialization for the boolean case where only one bit per element is used for the storage. Very efficient and MUCH more object oriented.

Amardeep
j_random_hacker