Class trackable
boost::signals2::trackable — Provided to ease porting for code using the boost::signals::trackable class from
          the original Boost.Signals library.
 
Synopsis
Description
Использование класса<trackable>не рекомендуется для нового кода. Класс<trackable>не является безвредным, поскольку<trackable>объекты отключают связанные с ними соединения в<trackable>деструкторе. Поскольку деструктор не работает до тех пор, пока не будут завершены деструкторы любых производных классов, остается открытым окно, в котором частично разрушенный объект все еще может иметь активные соединения.
Предпочтительный метод автоматического управления соединением с Boost. Сигналы2 предназначены для управления временем жизни отслеживаемых объектов с помощью<shared_ptr>с и использованиясигналов2::slot::trackдля отслеживания их жизни.
Класс<trackable>обеспечивает автоматическое отключение сигналов и слотов, когда объекты, связанные в слотах (через указатель или ссылку), разрушаются.<trackable>Класс может использоваться только в качестве общедоступного базового класса для какого-либо другого класса; при использовании в качестве такового этот класс может быть связан с функциями объектов, используемых как часть слотов. Способ, которым объект<trackable>отслеживает набор соединений сигнал-слота, частью которого он является, не определен.
Фактическое использование<trackable>зависит от наличия соответствующихvisit_eachперегрузок для любого типа, которые могут содержать указатели или ссылки на отслеживаемые объекты.
trackable 
        public
       construct/copy/destruct
- <trackable(); >| Эффекты: | Устанавливает список подключенных слотов на пустые. |  | Броски: | Бросок не будет. |  
 
- <trackable(consttrackable&other); >| Эффекты: | Устанавливает список подключенных слотов пустым. |  | Броски: | Бросок не будет. |  | Обоснование: | Соединения сигнального слота могут быть созданы только посредством вызовов к явному способу соединения, и поэтому не могут быть созданы здесь при копировании отслеживаемых объектов. |  
 
- <trackable&operator=(consttrackable&other); >| Эффекты: | Устанавливает список подключенных слотов пустым. |  | Возврат: | <*this> |  Бросок:  |  | Обоснование: | Соединения слота сигнала могут быть созданы только посредством вызовов явного метода соединения, и поэтому не могут быть созданы здесь при копировании отслеживаемых объектов. |  
 
- <~trackable(); >| Эффекты: | Отключает все соединения сигнал/слот, которые содержат указатель или ссылку на этот отслеживаемый объект, который может быть найденvisit_each. |