Class template recursive_wrapper
boost::recursive_wrapper — Solves circular dependencies, enabling recursive types.
 
Synopsis
Description
Шаблон класса recursive_wrapper имеет интерфейс, аналогичный простому контейнеру значений, но его содержание распределено динамически. Это позволяет recursive_wrapper удерживать типы T, чьи данные-члены приводят к круговой зависимости (например, член данных T имеет член данных типа T).
Применение recursive_wrapper проще всего понять в контексте. См. секцию под названием “ Рекурсивные типы с recursive_wrapper” для демонстрации общего использования шаблона класса.
Заметки:
- Любой тип, указанный как аргумент шаблона к recursive_wrapperдолжен быть способен на строительство черезоператор новый. Так, например, ссылки не поддерживаются.
recursive_wrapper 
        public
       construct/copy/destruct