Что будет с перекрывающейся частью boost, когда C ++ 0x станет мейнстримом? - PullRequest
12 голосов
/ 01 января 2009

Что будет с перекрывающейся частью boost, когда C ++ 0x станет мейнстримом?

Будет ли Boost по-прежнему содержать все, что использовалось ранее, или они адаптируют библиотеку, чтобы обновить ее новым std :: stuff?

Будет ли Boost иметь как нормальную версию C ++, так и версию C ++ 0x, которую они будут поддерживать?

Ответы [ 4 ]

11 голосов
/ 01 января 2009

Можно надеяться , что Boost продолжает поддерживать существующие классы по нескольким причинам.

Во-первых, существует фрагмент кода, который использует перекрывающиеся функции в Boost, который необходимо поддерживать в течение некоторого времени.

Во-вторых, перекрывающиеся реализации позволяют мне выбрать, какую из них я бы предпочел использовать. Может быть какая-то разница между std :: Frob и Boost :: Frob, которая важна для моего проекта, и выбор хороший - хорошо.

Однако в долгосрочной перспективе я бы ожидал перехода к стандарту как со стороны разработчиков приложений, так и поставщиков инструментов. Это делает менее рискованным выбор с std ::.

3 голосов
/ 01 января 2009

Я не связан с Boost и понятия не имею, что они будут делать, но похоже, что Boost останется нетронутым.

Там уже был выпущен TR1 (пакет функций VS 2008), и Boost остался нетронутым. Поскольку многие пользователи еще не приняли Boost или TR1, я предполагаю, что по крайней мере в течение следующих пяти лет библиотеки boost и c ++ 0x будут существовать в разных пространствах имен и доступны для пользователей C ++ 0x и пользователей C ++.

1 голос
/ 11 января 2009

Пространства имен делают это несколько проблемой для разработчиков Boost. Нет прямой конкуренции между библиотеками boost и стандартными библиотеками, потому что они существуют в отдельных пространствах имен. Следовательно, изменения в пространстве имен std (например, добавление std :: tr1) не имеют прямого влияния на Boost.

Обратите внимание, что если вы импортируете обе библиотеки (std и boost) в глобальное пространство имен, у вас будут проблемы.

Следующая цитата из документации Boost TR1 также проливает некоторый свет на реализацию Boost компонентов TR1, предполагая, что соответствующая библиотека Boost будет поддерживаться в обозримом будущем:

Библиотека TR1 предоставляет реализация C ++ Technical Отчет о стандартных расширениях библиотеки. Эта библиотека сама не реализует компоненты TR1, скорее это тонкий обертка, которая будет включать в себя ваш реализация TR1 стандартной библиотеки (если он есть), иначе будет включают эквиваленты Boost Library, и импортировать их в пространство имен std :: tr1.

0 голосов
/ 01 января 2009

Вы имеете в виду tr1?

Boost уже поддерживает tr1. Все классы из boost, принятые в std :: tr1, доступны в этом пространстве имен из boost. См. Следующую документацию.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...