function | → | attributes? specifiers type‑expr function‑group‑id template‑parameter‑list? parameter‑list where‑constraint? compound‑statement | ; |
function‑group‑id | → | id | operator‑function‑group‑id |
operator‑function‑group‑id | → | operator ((< <) − (< < (type‑expr % ,) >) | >> | == | = | < | -> | ++ | -- | + | - | * | / | % | & | | | ^ | ! | ~ | [ ] | ( )) |