You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A friend template may be declared within a class or class template. A friend function template may be defined within a class or class template, but a friend class template may not be defined in a class or class template. In these cases, all specializations of the friend class or friend function template are friends of the class or class template granting friendship.
[temp.friend]/3
A template friend declaration specifies that all specializations of that template, whether they are implicitly instantiated, partially specialized or explicitly specialized, are friends of the class
containing the template friend declaration.
Are these not semantically equivalent?
Also, are "friend template" and "template friend" interchangeable? If so, perhaps only one should be used for the sake of clarity.
The text was updated successfully, but these errors were encountered:
Editorial meeting: "friend template" is when the friend declaration befriends a template. "template friend" is the more general case.
"A class or class template may befriend a class template or function template. Such a friend declaration is termed a friend template." replace first sentence of p2. Merge p3 into p2 ("that template").
p4 say "may alternatively" In p6, we mean a template friend declaration.
p2 intro sentence: "A template friend declaration may be declared within a .... A template friend declaration that befriends a class or function template is termed a friend template declaration."
p1 rephrase to specify meaning based on the grammar in all cases.
Run the change past CWG.
[temp.friend]/2
[temp.friend]/3
Are these not semantically equivalent?
Also, are "friend template" and "template friend" interchangeable? If so, perhaps only one should be used for the sake of clarity.
The text was updated successfully, but these errors were encountered: