Как написать вложенный обработчик для десериализации rapidjson?


person conciliator    schedule 22.03.2015    source источник


Ответы (1)


Вы можете делегировать события другим обработчикам. Часто это делают:

  1. Применение шаблона состояния внутри вашего пользовательского обработчика. Так что обработчик может делегировать события объекту текущего состояния с помощью полиморфизма (он же виртуальные функции).

  2. Использование switch-case для делегирования enum.

Первый имеет преимущество, если вам нужно иметь дело с рекурсивной структурой. Вы можете поместить указатели объектов состояния в стек.

person Milo Yip    schedule 08.04.2015
comment
Спасибо Мило! Вариант 1 звучит как аккуратное решение. - person conciliator; 15.04.2015