Действительно, BOOST_SPIRIT_THREADSAFE никак не относится к Qi, это было для Классики.
При этом единственное, от чего зависит безопасность потоков, это то, что Boost построен с поддержкой потоков.Все признаки, которые я обнаружил за полвека, заключаются в том, что ни одна библиотека больше не поддерживает сборку без поддержки потоков.( Что именно `threading = multi` делает при компиляции boost? ).
Нетерминалы (грамматики и правила) являются поточно-ориентированными, если вы не получили свою собственную грамматику, которая не имеет состояния иparse
операция не является константой.
На практике предпочитайте писать свои синтаксические анализаторы, чтобы они могли быть явно константными:
Parser const p;
book ok = parse(f, l, p);
X3 упрощает доказательство безопасности потоковпотому что правила, как правило, являются константой глобальной статики (или даже constexpr) и по сути своей не имеют состояния.