Точка настройки<traits::transform_attribute>теперь принимает дополнительный параметр шаблона<Domain>, позволяющий лучше специализировать точку настройки для<qi::domain>или<karma::domain>.
Important
Это изменение интерфейса, требующее изменения существующего кода. Если у вас есть специализация этой точки настройки в вашем коде, вам нужно добавить специализацию для нового параметра шаблона, то есть либо<qi::domain>, либо<karma::domain>.
Семантические действия вSpirit.Qiтеперь неявно вызывают функцию<pre>точки настройки<traits::transform_attribute>для преобразования поставляемого атрибута в выставленный тип атрибута по мере необходимости. Функции<post>и<fail>этого пункта настройки не вызываются этим компонентом (поскольку это не имело бы никакого смысла).
Семантические действия вДух. Карматеперь неявно вызывает функцию<pre>точки настройки<traits::transform_attribute>для преобразования поставляемого атрибута в потребляемый тип атрибута по мере необходимости.
ДобавитьДух. Карма<skip>директива, которая семантически эквивалентнаДух. Карма<omit>директива, за исключением того, что она не будет выполнять встроенный генератор.
Добавлена поддержка отладкиДух. Кармаправила.
При этомпричастие. Карма, оставляя текущее поведение (неизменным) как расслабленный режим.Причастие. Кармасоставляет временные директивы<strict[]>и<relaxed[]>, позволяющие переключаться между ними.
ДобавленоДух. Карма<duplicate>директива, дублирующая поставляемый атрибут всем элементам встроенной последовательности генератора.
Компоненты вДух.QiиДух. Карматеперь принимает одну последовательность элементов Fusion в качестве своих атрибутов, если элемент в последовательности Fusion совместим с типом атрибутов компонента.
Компоненты парсера и генератора диапазона символов теперь могут быть дополнительно записаны как<char_("a","z")>вместо<char_('a','z')>, что делает его совместимым с синтаксисом компонента<char_('a')>(который также может быть записан как<char_("a")>). Обратите внимание, что смешанные формы синтаксиса, т.е.<char_('a',"z")>и<char_("a",'z')>, не поддерживаются.
Устанавливаемые свойстваДух. Кармапоследовательности, когда все элементы этой последовательности потребляют либо один и тот же тип атрибута, либо контейнеры этого типа атрибута, и переданный в атрибуте также является контейнером этого типа атрибута. При этом использование повторяющегося контейнера поддерживалось только тогда, когда это был последний элемент последовательности. Теперь можно иметь генератор<repeat><(num)[a]>в любом положении (ну, на самом деле вы можете иметь любой повторяющийся контейнер в любом положении сейчас, но это не всегда имеет смысл, поскольку он обычно съедает все поставляемые значения атрибутов).
Фиксированный вывод отладки для вариантов, где вариантный элемент представляет собой последовательность STL.
Исправлена проблема в multi_pass, избегая потери символа в конце ввода при переключении итераторов.