Several classes defined in this document are nested classes. For a specified nested class A::B, an implementation is permitted to define A::B as a synonym for a class with equivalent functionality to class A::B. [ Note: When A::B is a synonym for another type A provides a nested type B, to emulate the injected class name. — end note ]