Хорошо, я боролся с этой проблемой, которая у меня возникла.
Я создал древовидную структуру с логическими узлами, например. И, Или, Равно, Между. Я не хочу, чтобы эти узлы имели что-то большее, чем метод accept для посетителя, потому что будет больше посетителей с разными реализациями.
Так, например, я посещаю и. Сначала он посещает себя, поэтому я знаю, что имею дело с и, затем он посещает левый и правый узлы. Это может быть любой из ранее указанных узлов.
Проблема в том, что мне нужен способ проверить, что я закончил посещение дочерних узлов. Например, я хочу, чтобы этот вывод
"И(Равно()/Или(Равно()/Между())"
Но так как у меня нет возможности узнать, когда детей посещали, это будет примерно так.
"И()Равно()/Или()Равно()/Между()
Любые предложения о том, как преодолеть эту проблему?
.accept()
? Вы делаете это асинхронно? - person Jorn Vernee   schedule 17.03.2016