Function template visit_each
boost::visit_each — Allow limited exploration of class members.
 
Synopsis
template<typename Visitor, typename T> 
  void visit_each(const Visitor& visitor, const T& t, int);
Description
Механизм<visit_each>позволяет применять посетителя к каждому подобъекту в данном объекте. Он используется библиотекой Сигналов для обнаружения<signals::trackable>объектов в функциональном объекте, но другие применения могут всплыть, если они используются повсеместно (например, консервативная сборка мусора). Чтобы вписаться в рамки<visit_each>, для каждого типа объекта должна быть предусмотрена<visit_each>перегрузка.
| Эффекты: | <visitor(t)>, и для каждого подобъекта<x><t>: Еслиxявляется ссылкой,visit_each(visitor, ref(x), 0) В противном случаеvisit_each(visitor, x, 0) 
      [ORIG_END] --> | 
| Примечания: | Третий параметр —<long>для резервной версииvisit_each, и аргумент, представленный этому третьему параметру, всегда должен быть 0. Третий параметр является артефактом широко распространенного отсутствия правильного упорядочения шаблонов функций и будет удален в будущем. Ожидается, что авторы библиотеки добавят дополнительные перегрузки, которые специализируются на аргументе Т для своих классов, чтобы можно было посещать подобъекты. Призывы к посещению должны быть неквалифицированными, чтобы обеспечить поиск, основанный на аргументах. |