Кодовая база Spirit V1.8.x интегрирована с Spirit V2. Сейчас он называетсяДух.. Поскольку структура каталогов изменилась (заголовки Spirit Classic теперь перемещены в каталог $BOOST_ROOT/boost/spirit/home/classic), мы создали пересылающие заголовки, позволяющие существующим приложениям компилироваться без каких-либо изменений. Однако эти пересылающие заголовки амортизируются, что приводит к соответствующим предупреждениям, генерируемым для каждого из заголовков, начиная с Boost V1.38. Ожидается, что пересылающие заголовки будут удалены в будущем.
Рекомендуемый способ использования Spirit Classic теперь включает файлы заголовков из каталога $BOOST_ROOT/boost/spirit/include. Все заголовки Spirit Classic в этом каталоге имеют приставку «classic_». Например, включать
#include <boost/spirit/core/core.hpp>
Теперь она должна быть написана как:
#include <boost/spirit/include/classic_core.hpp>
Чтобы избежать конфликтов пространства имен с новой библиотекой Spirit V2, мы переместили Spirit Classic в пространство имен<boost::spirit::classic
>. Все ссылки на прежнее пространство имен<boost::spirit
>должны быть скорректированы, как только имена заголовков будут исправлены, как описано выше. В качестве альтернативы можно определить константу препроцессора<BOOST_SPIRIT_USE_OLD_NAMESPACE
>, которая заставит код Spirit Classic находиться в пространстве имен<boost::spirit
>, как и раньше. Однако это не рекомендуется, поскольку это может привести к названию столкновений.
Изменение пространства имен будет автоматически деактивировано всякий раз, когда будут использоваться файлы. Это обеспечивает полную обратную совместимость для существующих приложений.