In many cases, the angle brackets do not have a name themselves, because they are part of another construct.
- is called relational operator [source: C++ 20 standard, chapter 7.6.9, [expr.rel], page 140], also comparison operator or just less-than operator and greater-than operator
- is called shift operator [source: C++ 20 standard, chapter 7.6.7, [expr.shift], page 139]
- is called insertion operator [source: C++ 20 standard, chapter 29.7.5.6, [ostream.rvalue], page 1422], technically it's implemented as
operator<<
, just like the shift operator, but of course we don't call it shift operator, because we don't shift a stream.
- is called extraction operator [source: C++ 20 standard, chapter 29.7.4.6, [istream.rvalue], page 1413]
I've also heard the term chevron operator as the superordinate term for both, insertion operator and extraction operator.
- the whole thing (angle brackets plus type(s)) is called a template argument list [sources: C++ 20 standard, chapter 13.3, [temp.names], page 366, and chapter 13.4.1 (4), [temp.arg], page 369].
- the whole thing is a template parameter list [source: C++ 20 standard, chapter 13.1, [temp.pre], page 360]
- like 6
- this is also called a template parameter list [source: C++ 20 standard, chapter 7.5.5.1 (5), [expr.prim.lambda.general], page 103]
Regarding the last four: it's a parameter list in the declaration and an argument list when it's used.
- is an arrow or -> operator (probably pronounced arrow operator) [source: C++ 20 standard, chapter 7.6.1.5, [expr.ref], page 110].
- is a pointer to member operator [source: C++ 20 standard, chapter 7.6.4, [expr.mptr.oper], page 137].
- is called the three way comparison operator [source: C++ 20 standard, chapter 7.6.8, [expr.spaceship], page 140] or simply the spaceship operator.
- is called a trailing return type [source: C++ 20 standard, chapter 9.3.1, [dcl.decl.general], page 183]. For concepts, there's a similar thing called return type requirement [source: C++ 20 standard, chapter 7.5.7.4, [expr.prim.req.compound], page 115]
- is a header name [source: C++ 20 standard, chapter 5.8, [lex.header], page 16] and similar in [source: C++ 20 standard, chapter 15.2, [cpp.cond], page 462]
- the whole thing is a digraph [source: C++ 20 standard, chapter 5.5, [lex.digraph], page 15] or trigraph (until C++14) [source: C++ 20 standard, chapter C.2.2, [diff.cpp14.lex], page 1662]