Будет ли TR2 выпущен в C++17?
3 ответа
Может быть.
Смысл TR (а теперь и технических спецификаций) состоит в том, чтобы позволить чему-то созревать независимо от стандартного итерационного процесса. Они могут опубликовать TS, посмотреть, как он работает, посмотреть, есть ли какие-либо проблемы в реализации и / или использовании функции, и если все работает, они могут затем "свернуть" ее в полный стандарт.
Каждый TS рассматривается по существу, чтобы увидеть, будет ли он включен в следующий стандарт.
См. http://isocpp.org/std/status (спасибо @BenjaminLindley) для текущего статуса рабочих групп Технической спецификации.
Любой из них, если он будет завершен задолго до 2017 года, может быть включен в стандарт. Вряд ли они все будут.
Цель состоит в том, чтобы мы могли получить std::experimental
функции, с которыми можно поиграть (и использовать, если мы готовы принять сдвиг земли под ногами) ранее, при этом добавив эти функции к std
с меньшим количеством сожалений и изменений спецификации после этого момента. Вероятно, есть и огромные организационные издержки, связанные с разделением основного стандарта от каждого из этих побочных проектов и предоставлением им возможности развиваться независимо.
Цель Технического отчета или Технической спецификации в том виде, в каком они есть сейчас, состоит в том, чтобы получить опыт внедрения и отзывы разработчиков и пользователей, чтобы лучше оценить пригодность функций для стандартизации. Нужно было бы хрустальный шар, чтобы знать, будет ли конкретный TS будет включен в будущий стандарт, и какой будущий стандарт это может быть.
Версия 1 Основ библиотечных документов TS, по- видимому, прошла окончательное голосование на заседании комитета в ноябре 2014 года, а версия 2 в настоящее время разрабатывается с учетом отзывов и новых предложений. Это означает, что он становится ближе к тому, чем довольны разработчики и пользователи отрасли, и версия 1 теперь является неизменной спецификацией, которую разработчики могут выбрать для соответствия. Для более поздних версий и более поздних стандартов все еще более чем возможно измениться способами, которые были бы несовместимы с версией 1.
Вот список (из вашей ссылки в Википедии) функций TR2 - и мои комментарии:
- Темы - включены в C++11
- Библиотека Asio C++ - это рассматривается для будущего стандарта C++
- Сигналы / Слоты - в настоящее время никаких действий (о которых я знаю)
- Библиотека файловой системы - Техническая спецификация файловой системы
- Boost Any Library - Техническая спецификация основы библиотеки
- Библиотека лексических преобразований - в настоящее время никаких действий (о которых я знаю)
- Новые строковые алгоритмы - в настоящее время никаких действий (о которых я знаю)
- На пути к более полной таксономии алгебраических свойств для числовых библиотек в TR2 - в настоящее время никаких действий (о которых я знаю)
- Добавление поиска гетерогенного сравнения в ассоциативные контейнеры для TR2 - * Включено в C++14*