From Jason Turner

[expr.prim.id.unqual]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp_6v9ffgb/{from.md → to.md} +31 -0
tmp/tmp_6v9ffgb/{from.md → to.md} RENAMED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Unqualified names <a id="expr.prim.id.unqual">[[expr.prim.id.unqual]]</a>
2
+
3
+ ``` bnf
4
+ unqualified-id:
5
+ identifier
6
+ operator-function-id
7
+ conversion-function-id
8
+ literal-operator-id
9
+ '~' class-name
10
+ '~' decltype-specifier
11
+ template-id
12
+ ```
13
+
14
+ An *identifier* is an *id-expression* provided it has been suitably
15
+ declared (Clause  [[dcl.dcl]]).
16
+
17
+ [*Note 1*: For *operator-function-id*s, see  [[over.oper]]; for
18
+ *conversion-function-id*s, see  [[class.conv.fct]]; for
19
+ *literal-operator-id*s, see  [[over.literal]]; for *template-id*s, see 
20
+ [[temp.names]]. A *class-name* or *decltype-specifier* prefixed by `~`
21
+ denotes a destructor; see  [[class.dtor]]. Within the definition of a
22
+ non-static member function, an *identifier* that names a non-static
23
+ member is transformed to a class member access expression (
24
+ [[class.mfct.non-static]]). — *end note*]
25
+
26
+ The type of the expression is the type of the *identifier*. The result
27
+ is the entity denoted by the identifier. The expression is an lvalue if
28
+ the entity is a function, variable, or data member and a prvalue
29
+ otherwise; it is a bit-field if the identifier designates a bit-field (
30
+ [[dcl.struct.bind]]).
31
+