Commit Graph

4 Commits

Author SHA1 Message Date
Tomasz Grabiec
53eb4ab35d enum_set: Add mask getter 2015-03-11 14:56:09 +01:00
Tomasz Grabiec
13850d912e enum_set: Add more operations 2015-03-11 14:56:09 +01:00
Tomasz Grabiec
29f02b5c65 enum_set: Add more operations 2015-02-16 12:15:11 +01:00
Tomasz Grabiec
16a4b2f3e0 Introduce enum_set
Allows to take full advantage of compile-time information.

Examples:

  enum class x { A, B, C };
  using my_enum = super_enum<x, x::A, x::B, x::C>;
  using my_enumset = enum_set<my_enum>;

  static_assert(my_enumset::frozen<x::A, x::B>::contains<x::A>(),
  		"it should...");

  assert(my_enumset::frozen<x::A, x::B>::contains(x::A));
2015-02-12 19:40:56 +01:00