16 Library introduction [library]

16.3 Definitions [definitions]

16.3.21[defns.prog.def.type]program-defined type

non-closure class type or enumeration type that is not part of the C++ standard library and not defined by the implementation, or a closure type of a non-implementation-provided lambda expression, or an instantiation of a program-defined specialization
[Note
:
Types defined by the implementation include extensions ([intro.compliance]) and internal types used by the library.
— end note
]