>>720
レス㌧クスしかし……
enum class FooはFoo::AとかFoo::Bとかいう形でしか使われないのだから個数を返す専用のテンプレートの特ちゅ化を行うよりは
Fooという名前のを何らかの手段でwrapしてやってcountメンバを持たせる方が自然なような、
enum class Foo0 { A = 0, B, C, D, E };
だとして現状class Foo : public Foo0 { ... }みたいなことは書けないから、手段としては次の2つ……
(1) クラスれwrap
struct Foo {
  enum { A, B, C, D, E }; // 古き良きenum、
  static size_t count() { return 5; }
};
(2) namespaceでwrap
namespace Foo {
  enum { A, B, C, D, E }; // 古き良きenum、
  inline size_t count() { return 5; }
};

規格委員会が斜め上の行動に出なければこういう方向性が自然に感じる……