|  | 
|      | 
|  | 
| Class template slotBoost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
  
   | 
| Эффекты: | Инициирует В этом особом случае, когда параметр шаблонного типа | 
шаблон<типnameтипnameДругоеSlotFunction>слотconstслот<Другая слотФункция>&другой_slot;
| [ | Инициирует | 
шаблон<имя типаимя типаимя типаслот&][ Синтаксический сахар для
связывания(), когда конструктору передается более одного аргумента. Как будто:слот (буст::bind(f, a1, a2, ..., aN))
slot invocationрезультат_типоператорНазывает слотСлотфункцияобъект.Возвращение:
Результат возвращает объект слота
SlotFunction.Броски:
Любые исключения, выброшенные объектом слота
SlotFunction.boost::signals2::expired_slot, если какой-либо объект в списке отслеживаемых объектов истек.Примечания:
Если вы уже использовалиблокировкудля обеспечения достоверности отслеживаемых объектов, немного эффективнее использовать методslot_function() и напрямую вызывать слот
SlotFunction
slot trackingслоттрек<void>>tracked_object]слотслоттрекконстслоттрекслабый_ptrслабый_ptr[5 Если какой-либо из отслеживаемых объектов истекает, то последующие попытки вызвать оператора слота
илизамок ()методы будут бросатьсигналы2::expired_slotисключение.При отслеживании сигнала для отслеживания используется общий_ptr, внутренний для класса сигнала. Сигнал не должен принадлежать внешнему
shared_ptr.В случае прохождения другого слота в качестве аргумента в
трек(), только объекты, находящиеся в настоящее время в списке отслеживаемых объектов другого слота, добавляются в список отслеживаемых объектовэтого. Другой объект слота сам по себе не отслеживается.Возвращение:
*это
шаблон<имя типаForeignWeakPtr>слот&track_foreignconst&tracked_object&typenameweak_ptr_traits<ForeignWeakPtr>ForeignWeakPtr::shared_type*]шаблон<608]TypenameForeignSharedPtr>слот&track_foreignconst&tracked_object&typenameshared_ptr_traits<ForeignSharedPtr>weak_type
Эффекты: [717 Метод
track_foreign() ведет себя аналогично вызову методаtrack() с помощью аргумента boost::shared_ptr или boost::weak_ptr. Однакоtrack_foreignболее гибок в том, что он будет приниматьshared_ptrилиweak_ptrклассы извне импульса (наиболее значительноstd::shared_ptrилиstd::weak_ptr).Для использования с этой функцией определенного
класса share_ptrдля него должна существовать специализация boost::signals2::shared_ptr_traits. Также должна быть предусмотрена специализация бустера::сигналы2::weak_ptr_traits для его соответствующегокласса weak_ptr. Специализацияshared_ptr_traitsдолжна включать в себяweak_typeчлен typedef, который определяет соответствующийweak_ptrтип классаshared_ptr. Аналогично, специализацияweak_ptr_traitsдолжна включать в себяshared_typeчлен typedef, который определяет соответствующийshared_ptrтип классаweak_ptr. Специализации дляstd::shared_ptrиstd::weak_ptrуже предоставляются библиотекой сигналов2. Для других классовshared_ptrнеобходимо предоставить специализацию.Второй аргумент «SFINAE» может быть проигнорирован, он используется для разрешения перегрузки между
shared_ptrилиweak_ptrобъектами, переданными в качестве первого аргумента.Возвращение:
*это
slot slot function accessслот_функция_тип&слот_функция;констслот_функция_тип&слот_функцияконст;[896]
| [8 Ссылка на основной объект слот-функции. | 
Статья Class template slot раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
| реклама |