ISO/IEC TR 19768:2007 Информационные технологии. Языки программирования. Технический отчет о расширениях библиотеки C++. - Стандарты и спецификации PDF

ISO/IEC TR 19768:2007
Информационные технологии. Языки программирования. Технический отчет о расширениях библиотеки C++.

Стандартный №
ISO/IEC TR 19768:2007
Дата публикации
2007
Разместил
International Organization for Standardization (ISO)
Последняя версия
ISO/IEC TR 19768:2007
сфера применения
В этом техническом отчете описаны расширения стандартной библиотеки C++, описанной в Международном стандарте языка программирования C++ [14]. 2 Настоящий технический отчет не является нормативным. Некоторые из компонентов библиотеки в этом техническом отчете могут рассматриваться для стандартизации в будущей версии C++, но в настоящее время они не являются частью какого-либо стандарта C++. Некоторые компоненты настоящего Технического отчета никогда не будут стандартизированы, а другие могут быть стандартизированы в существенно измененной форме. 3 Целью настоящего технического отчета является создание более широко распространенной существующей практики для расширенной стандартной библиотеки C++. Он дает советы по расширениям тем поставщикам, которые желают их предоставить. 1.1 Связь с введением стандартной библиотеки C++ [tr.description] 1 Если не указано иное, все введение стандартной библиотеки ISO C++ [lib.library] включено в настоящий технический отчет посредством ссылки. 1.2 Категории расширений [tr.intro.ext] 1 В этом техническом отчете описываются четыре основные категории расширений библиотеки: 1. Новые таблицы требований, такие как требования к свойствам регулярных выражений в 7.2. Они не выражаются напрямую в виде программного обеспечения; они определяют обстоятельства, при которых написанные пользователем компоненты будут взаимодействовать с компонентами, описанными в настоящем техническом отчете. 2. Новые компоненты библиотеки (типы и функции), объявленные в совершенно новых заголовках, например шаблоны классов в заголовке (6.3.4.1). 3. Новые компоненты библиотеки, объявленные как дополнения к существующим стандартным заголовкам, такие как специальные математические функции, добавленные в заголовки и в 5.2.1 и 5.2.2. 4. Дополнения к компонентам стандартной библиотеки, такие как расширения класса std::pair. в 6.1.4. 2 Новые заголовки отличаются от расширений существующих заголовков по заголовку синопсиса. В первом случае заголовок имеет форму «Синопсис заголовка», и синопсис включает в себя все объявления области пространства имен, содержащиеся в заголовке. Во втором случае заголовок имеет вид «Дополнения к синопсису заголовка», и синопсис включает только расширения, т.е. те объявления области пространства имен, которые отсутствуют в стандарте C++ [14]. 1.3 Пространства имен и заголовки [tr.intro.namespaces] 1 Поскольку расширения, описанные в этом техническом отчете, не являются частью стандартной библиотеки C++, их не следует объявлять непосредственно в пространстве имен std. Если не указано иное, все компоненты, описанные в этом техническом отчете, объявлены в пространстве имен std::tr1. [Примечание: некоторые компоненты объявлены в подпространствах имен std::tr1. —конец примечания] 2 Если не указано иное, предполагается, что ссылки на другие объекты, описанные в настоящем Техническом отчете, уточняются с помощью std::tr1::, а ссылки на объекты, описанные в Международном стандарте, предполагаются уточняющимися с помощью std::. 3 Даже если расширение указано как дополнение к стандартным заголовкам (третья категория в 1.2), поставщикам не следует просто добавлять объявления к стандартным заголовкам таким образом, чтобы они были видны пользователям по умолчанию. [Примечание: это не соответствует стандарту, поскольку новые имена, даже внутри пространства имен, могут конфликтовать с пользовательскими макросами. -конец примечания] Пользователи должны быть обязаны предпринимать явные действия, чтобы получить доступ к расширениям библиотеки. 4 Рекомендуется либо защищать дополнительные объявления в стандартных заголовках макросом, который не определен по умолчанию, либо все расширенные заголовки, включая как новые заголовки, так и параллельные версии стандартных заголовков с нестандартными объявлениями, помещать в отдельный каталог, который не является частью пути поиска по умолчанию.

ISO/IEC TR 19768:2007 История

  • 2007 ISO/IEC TR 19768:2007 Информационные технологии. Языки программирования. Технический отчет о расширениях библиотеки C++.



© 2023. Все права защищены.