body { color: #000000; background-color: #FFFFFF; } del { text-decoration: line-through; color: #8B0040; } ins { text-decoration: underline; color: #005100; } p.example { margin-left: 2em; } pre.example { margin-left: 2em; } div.example { margin-left: 2em; } code.extract { background-color: #F5F6A2; } pre.extract { margin-left: 2em; background-color: #F5F6A2; border: 1px solid #E1E28E; } p.function { } .attribute { margin-left: 2em; } .attribute dt { float: left; font-style: italic; padding-right: 1ex; } .attribute dd { margin-left: 0em; } blockquote.std { color: #000000; background-color: #F1F1F1; border: 1px solid #D1D1D1; padding-left: 0.5em; padding-right: 0.5em; } blockquote.stddel { text-decoration: line-through; color: #000000; background-color: #FFEBFF; border: 1px solid #ECD7EC; padding-left: 0.5empadding-right: 0.5em; ; } blockquote.stdins { text-decoration: underline; color: #000000; background-color: #C8FFC8; border: 1px solid #B3EBB3; padding: 0.5em; } blockquote pre em { font-family: normal } table { border: 1px solid black; border-spacing: 0px; margin-left: auto; margin-right: auto; } th { text-align: left; vertical-align: top; padding-left: 0.8em; border: none; } td { text-align: left; vertical-align: top; padding-left: 0.8em; border: none; }  Attributes for namespaces and enumerators     ISO/IEC JTC1 SC22 WG21 N4266 / CWG 1657 / EWG 113 Richard Smith [email protected] 2014-11-05  Attributes for namespaces and enumerators Wording  Change in 7.2 (dcl.enum) paragraph 1:  [...] enumerator: identifier attribute-specifier-seqopt  The optional attribute-specifier-seq in the enum-head and the opaque-enum-declaration appertains to the enumeration; the attributes in that attribute-specifier-seq are thereafter considered attributes of the enumeration whenever it is named. [...]  

  Change in 7.2 (dcl.enum) paragraph 2:  [...] The identifiers in an enumerator-list are declared as constants, and can appear wherever constants are required. An enumerator-definition with = gives the associated enumerator the value indicated by the constant-expression. If the first enumerator has no initializer, the value of the corresponding constant is zero. An enumerator-definition without an initializer gives the enumerator the value obtained by increasing the value of the previous enumerator by one. [ Example: … ]  The optional attribute-specifier-seq in an enumerator appertains to that enumerator.    Change in 7.3 (namespace.def) paragraph 1:  [...] original-namespace-definition: inlineopt namespace attribute-specifier-seqopt identifier { namespace-body } extension-namespace-definition: inlineopt namespace attribute-specifier-seqopt original-namespace-name { namespace-body } unnamed-namespace-definition: inlineopt namespace attribute-specifier-seqopt { namespace-body } namespace-body: declaration-seqopt    Add a new paragraph after 7.3 (namespace.def) paragraph 7:  The optional attribute-specifier-seq in an original-namespace-definition or extension-namespace-definition appertains to the namespace being defined or extended.   Change in 7.3.1.1 (namespace.unnamed) paragraph 1:  An unnamed-namespace-definition behaves as if it were replaced by  inlineopt namespace unique { /* empty body */ } using namespace unique ; namespace attribute-specifier-seq unique { namespace-body }  where inline appears if and only if it appears in the unnamed-namespace-definition, all occurrences of unique in a translation unit are replaced by the same identifier, and this identifier differs from all other identifiers in the entire program. [Footnote: …] The optional attribute-specifier-seq in the unnamed-namespace-definition appertains to unique.   Change in 7.6.5 (dcl.attr.deprecated) paragraph 2:  The attribute may be applied to the declaration of a class, a typedef-name, a variable, a non-static data member, a function, a namespace, an enumeration, an enumerator, or a template specialization.