Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Evil
- {
- public struct Bitmask
- {
- private int bitmask;
- public int Data
- {
- get
- {
- return bitmask;
- }
- }
- public Bitmask(Enum bitmask)
- {
- this.bitmask = Convert.ToInt32(bitmask);
- }
- public Bitmask(int bitmask)
- {
- this.bitmask = bitmask;
- }
- public bool this[Enum bitmask]
- {
- get
- {
- return (int)(this.bitmask & Convert.ToInt32(bitmask)) > 0;
- }
- set
- {
- if (value)
- {
- this.bitmask &= ~Convert.ToInt32(bitmask);
- }
- else
- {
- this.bitmask |= Convert.ToInt32(bitmask);
- }
- }
- }
- public static Bitmask operator &(Bitmask left, Bitmask right)
- {
- return new Bitmask(left.Data & right.Data);
- }
- public static Bitmask operator |(Bitmask left, Bitmask right)
- {
- return new Bitmask(left.Data | right.Data);
- }
- public static Bitmask operator ~(Bitmask right)
- {
- return new Bitmask(~right.Data);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement