Libsigc ++ - Libsigc++

libsigc ++
Стабильный выпуск
3.0.3 / 25 марта 2020 г.; 8 месяцев назад (2020-03-25)[1]
Предварительный выпуск
2.99.12 / 30 октября 2018 г.; 2 года назад (2018-10-30)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вC ++
Типбиблиотека или фреймворк
Интернет сайтlibsigcplusplus.github.io/ libsigcplusplus/ Отредактируйте это в Викиданных

libsigc ++ это C ++ библиотека для безопасный обратные вызовы.

libsigc ++ реализует систему обратного вызова для использования в абстрактных интерфейсах и общем программировании. libsigc ++ - одна из самых ранних реализаций сигналы и слоты концепция реализована с использованием C ++ метапрограммирование шаблона. Он был создан как альтернатива использованию мета-компилятора, например, в реализации сигналов и слотов в Qt. libsigc ++ возник как часть gtkmm проект в 1997 году, а затем был переписан в отдельную библиотеку. Каждый сигнал имеет конкретный профиль функции, который определяет количество аргументов и тип аргумента, связанных с обратным вызовом. Затем функции и методы упаковываются с использованием шаблонных вызовов для создания функциональные объекты (функторы), которые могут быть связаны с сигналом. Каждый сигнал может быть подключен к нескольким функторам, таким образом создавая образец наблюдателя с помощью которого сообщение может быть передано нескольким анонимным объектам-слушателям. Подсчет ссылок отслеживание продолжительности жизни объекта на основе было использовано для отключения функторов от сигналов при удалении объектов. Использование шаблонов позволило проводить типизированную проверку соединений во время компиляции. Добавление этой строгой проверки времени компиляции потребовало добавления адаптеров приведения типов шаблонов, которые преобразуют профиль обратного вызова функтора, чтобы он соответствовал требуемому шаблону сигнала.

libsigc ++ был естественным расширением Стандартная библиотека C ++ функторы для отслеживания объектов, необходимых для реализации паттерна наблюдателя. Он вдохновил множество реализаций сигналов и слотов на основе шаблонов C ++, включая реализацию сигнала, используемую в увеличить библиотеки C ++.

libsigc ++ выпущен как свободное программное обеспечение под Стандартная общественная лицензия ограниченного применения GNU (LGPL).

использованная литература

  1. ^ а б «Релизы - libsigcplusplus / libsigcplusplus». Получено 25 марта 2020 - через GitHub.

внешние ссылки