Действительно ли тесты данных Boost.Test требуют C ++ 11? - PullRequest
0 голосов
/ 15 января 2019

Я работаю в конкретной корпоративной среде, и на данный момент нет инфраструктуры C ++ 11.Недавно я начал писать модульные тесты и решил использовать среду Boost.Test, так как Boost известен своей мобильностью и готовностью к работе.Хотя общий BOOST_AUTO_TEST_CASE отлично работает, я обнаружил, что тесты наборов данных (BOOST_DATA_TEST_CASE) в конечном итоге включают boost/test/data/monomorphic/fwd.hpp, что включает <tuple> безоговорочно.Действительно ли DATA_TEST_CASE требует C ++ 11?Есть ли способ использовать BOOST_DATA_TEST_CASE и использовать встроенные кортежи Boost и другие поставляемые библиотеки для соответствия стандарту C ++ 03?

1 Ответ

0 голосов
/ 15 января 2019

Boost, как правило, сознательно не нарушает совместимость c ++ 11 в существующих библиотеках (хотя это отношение меняется, и в будущем вы должны ожидать больше требований c ++ 11, см. Обсуждения в списках рассылки для разработчиков boost).

Однако новые библиотеки и новые функции для существующих библиотек не придерживаются этого ограничения и, как правило, требуют использования c ++ 11, если это делает реализацию проще / проще / быстрее / надежнее и т. Д.

BOOST_DATA_TEST_CASE был представлен только в boost 1.59.0, поэтому, скорее всего, будет использовать c ++ 11.

Общий совет: если вы используете старый компилятор, используйте старую версию boost. Если вам нужны новые функции, обновите ваш компилятор и используйте последнюю версию boost.

...