This struct contains the unique member value which indicates whether or not the template parameter Thing is a specialization of the template template parameter Primary. The implementation is based on this.
| Thing | the type we are checking is a specialization of Primary. |
| Primary | the type we are checking Thing against. |
Primary must be types, so, for example, is_specialization_of<std::array<int, 2>, std::array> will not compile.