Skip to content
burblebee edited this page Jun 19, 2014 · 16 revisions
  • Q. When to use \term{} vs. \defn{}?

  • A. \defn adds an index entry, \term doesn't. All definitions in the spec should be indexed.
    \term{} should be used when a definition for a term already exists elsewhere. There's also \defnx{name of term}{index entry} if the two should be different. For instance

    \defnx{point of instantiation}{instantiation, point of}
    

    ... perhaps.

  • Q. How does \impldef{} work and when to use it?

  • A. \impldef does two things. First, it expands to the words "implementation defined". Second, it adds an entry to the index of implementation defined behaviors at the very end of the standard. (The name of that index entry is between the braces.)

  • Q. I noticed some things were added to the index while others were not – when should something be indexed?

  • A. Whenever it'd be useful to find something in the index, we should add an index entry. I don't know of any more precise policy than that. Maybe Stefanus or Pete had a more precise rule; we should ask.

  • Q. In CWG1750, we have “reference to possibly cv-qualified T”; why whole phrase in "s here?

  • A. This is the standard's "internal representation" of types, after the algorithm in [dcl.meaning] converts a declarator into the represented type. See the subclauses of [dcl.meaning] for examples.

  • Q. In CWG609,

         “For a type \cv\ \tcode{T},”
    

    Why isn’t this “\tcode{cv T},”?

         “of that type are those denoted by \cv.”
    

    Is “\cv” some special thing in the std?

  • A. We use \cv to get an italicized 'cv'. This is a special notation in the standard, see [basic.type.qualifier]p5.

  • Q. cv in cv-unqualified is sometimes in italics, other times not (eg. 20.4.2.5). Which is right?

  • A. I think it should be italicized if it's referring to a specific 'cv', and not otherwise. For instance:

       An expression of type cv T can be converted to cv-unqualified T
    

    Both 'cv's should be italicised here; the first because it's naming a cv placeholder, and the second because it's referring to that same placeholder. 20.4.2.5's uses of cv-unqualified should not be italicized.

Clone this wiki locally