...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The term "enclosing type" refers to the type which is being introspected. This type is always a class, struct, or union.
The term "inner xxx", where xxx is some element of the enclosing type, refers to either a type, template, function, or data within the enclosing type. The term "inner element" also refers to any one of these entities in general.
I use the term "nested type" to refer to a type within another type. I use the term "member function" or "member data" to refer to non-static functions or data that are part of the enclosing type. I use the term "static member function" or "static member data" to refer to static functions or data that are part of the enclosing type. I use the term "nested class template" to refer to a class template nested within the enclosing type.
Other terminology may be just as valid for the notion of C++ language elements within a type, but I have chosen these terms to be consistent.
The term "generated metafunction(s)" refers to macro metafunctions which are generated by macros.