In the C++11 standard 16.2.5:
The implementation shall provide unique mappings for sequences consisting of one or more nondigits or digits (2.11) followed by a period (.) and a single nondigit. The first character shall not be a digit. The implementation may ignore distinctions of alphabetical case.
I don't understand the context or meaning of this at all?
What does it mean "provide unique mappings"? Mappings from what to what? And unique as opposed to what? And sequences of what?
It seems to be a total non-sequitor from surrounding paragraphs.
In a typical case, what you specify in an #include directive will be a file name. What this is saying is that it doesn't have to be a file name. The "from what" is the sequence of characters (h-char-sequence or q-char-sequence) in the directive. This can map to some (more or less arbitrary) source of the same kind of data -- for example, if an implementation wanted to store headers in some sort of database, it might map them to records in the database.
As far as the "to what" part, it's deliberately vague -- a typical implementation uses file names, but it could be almost anything else, as long as including a header produces the correct type of results -- the database record mentioned above would be one possibility, but it's intended to allow things like pre-compiled headers, or even building "knowledge" of the standard headers into the compiler itself, so including a standard header might do nothing more than set a flag in the compiler to tell it be aware of the contents of that header.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With