『Modern C++ Design』 メモ - NullTypeとEmptyType

class NullType {};

NullTypeは、「私は意味のない型」だと明示的にするもので
型リストの終端や、「型が存在しない」という情報として使われる

インスタンスの作成はできません

struct EmptyType {};

EmptyTypeは継承もできる正当な型で、
テンプレートのデフォルト引数 「気にしない型」として使われる




struct null_type {};
を作って両方の用途で使ってました