Описание тега boost-signals2

Библиотека Boost.Signals2 - это поточно-ориентированная реализация C++ системы управляемых сигналов и слотов.
1 ответ

C++ Boost сигналы и соединение слотов

Я пытаюсь подключить графический интерфейс к своему логическому потоку, используя повышающие сигналы и слоты, у логического класса есть удобный метод для подключения функций к сигналу. Вот упрощенная копия класса locig: #include <boost/signals2.h…
05 фев '18 в 14:31
2 ответа

Может ли обратный вызов слота signal2 C++ содержать информацию о Objective-C/C++ Class/Selector (Method)?

Это должно быть так очевидно для некоторых из вас, но я не могу найти пример этого: Мне нужен сигнал boost::signal2 для подключения обратного вызова слота, который является функцией-членом класса C++ или функтором, так что я могу сделать обратные вы…
1 ответ

Ошибка компоновщика boost::signal2 с простой программой

В эксперименте с Boost.Signals2 я попытался скомпилировать следующую очень наивную программу. Программа скомпилировалась, но я получил ошибку компоновщика (сообщение об ошибке см. В нижней части этого вопроса). // hello.cpp #include <boost/signal…
02 авг '14 в 09:33
1 ответ

Это правильный и подходящий способ использовать сигналы повышения?

Я создаю приложение MVC и хочу, чтобы модель могла отправлять выводимый текст в графический интерфейс для отображения. Несколько человек порекомендовали указатели на функции, но теперь я узнал, что если вы передаете указатель на функцию-член, вы так…
24 фев '13 в 18:52
1 ответ

C++ shared_ptr std::bind и std::function

У меня есть следующее: учебный класс B слушает boost::signal2 класса C и при срабатывании выполнит обратный вызов, заданный классом A и это выполняет метод в классе A A, B а также C, D являются все std::shared_ptr, Проблема в том, что когда класс D …
01 авг '17 в 14:40
1 ответ

Ошибка, когда буст-сигналы2 соединяются с привязкой void()

Когда я пытаюсь скомпилировать этот код, я получаю сообщение об ошибке В конструкторе 'Foo::Foo()': 15:40: ошибка: 'bind' не был объявлен в этой области #include <functional> #include <boost/signals2.hpp> class Foo { public: Foo(); void …
22 янв '16 в 12:08
3 ответа

Boost::signal2 - удаление объекта со слотом

Учти это: #include <boost/signals2.hpp> #include <iostream> struct object_with_slot { void operator()() { std::cout << "Slot called!" << std::endl; member = 50500; } int member; }; int main() { boost::signals2::signal<void…
14 фев '13 в 19:50
3 ответа

Сохранение сигнала boost::signal2 на карте?

Я столкнулся со следующей проблемой: я хочу сохранить ряд boost::signals2 сигнальные переменные на карте. Поскольку эти сигналы не подлежат копированию, это, очевидно, не будет работать. Как я могу обойти это? Я уже нашел этот старый вопрос. В нем п…
04 июн '12 в 15:15
0 ответов

Пакеты boost генерируют заметки компилятора в vs2015

Все, я пытаюсь выяснить причину, и любой ответ, который получит эти примечания компилятора от испортить мою сборку. Я использую VS2015, уровень предупреждения 3. Поскольку это "заметки", я не уверен, что я могу сделать, чтобы скрыть их. Как только я…
30 апр '18 в 13:24
2 ответа

Что является прототипом для Boost::signal2::signal::connect

Я хотел бы инкапсулировать объект signal2::signal и предоставлять функции connect и operator(), но как выглядят их прототипы? Пример: #include <boost/signals2/signal.hpp> template<typename T> class A { public: typedef boost::signals2::si…
03 апр '11 в 14:19
0 ответов

Сигналы вместо исключений

Давайте предположим, что мы разрабатываем магазин, и, в зависимости от состояния сеанса, пользователю разрешено делать разные вещи. Например, предположим, что виджет должен быть заблокирован в течение некоторого времени в определенный момент, потому…
19 сен '16 в 12:30
2 ответа

Обертка для Boost:: сигналов2 с управлением временем жизни для общих слотов

Я хотел бы создать класс-оболочку для boost::signal2 для модулей (потоков), который излучает сигналы в слоты. Т.е. модуль должен получить типичные возможности простой сигнализации (например, метод public connect(...)) путем наследования от моего кла…
26 апр '13 в 12:40
1 ответ

Привести возвращаемое значение к шаблонному типу

У меня есть следующий шаблон класса. template<typename T, typename R = void> class Event { public: typedef boost::signals2::signal<R (const T&)> signal_t; virtual R fire(const T& argument) { return static_cast<R>(*signal_(a…
14 фев '18 в 12:50
2 ответа

Нужно ли создавать библиотеку boost.signals2?

У моей системы проблемы с сборкой буст-библиотек. Я понимаю, что большинство библиотек boost (к счастью) являются просто заголовками, которые не нужно собирать (за некоторыми исключениями). Нужно ли создавать библиотеку boost:: signal2? Кроме того, …
14 июл '11 в 08:54
4 ответа

Какой смысл Boost::Signals?

Во-первых, я абсолютный новичок в программировании, поэтому не смейся надо мной.Единственное, для чего я видел сигналы, используемые для набора инструментов GUI, и наборы инструментов GUI все идут со своей собственной сигнализацией. Итак, может ли B…
25 ноя '10 в 03:43
1 ответ

Как можно связать функцию-член с переменным числом с функтором?

Я пытаюсь связать первый параметр функции variadic с помощью std:: bind, а затем передать возвращенный функтор в функцию connect() сигнала boost:: signal2::signal. Процесс работает нормально до тех пор, пока переменная функция не является функцией-ч…
30 апр '14 в 20:15
1 ответ

Повышение::signals2; нет соответствующей функции для добавления сигнального слота

У меня есть проект, где у меня есть проблема с boost:: signal2. Чтобы привести короткий пример, я сократил код до следующих трех классов (все классы упрощены): class SignalArgs { int a_number_; }; class Plugin { protected: typedef boost::signals2::s…
03 сен '14 в 09:50
1 ответ

Как получить boost.msm для правильного изменения состояния при использовании обработчика сигнала для запуска событий?

Мой (boost.msm) конечный автомат выглядит как "откат" при использовании обработчиков сигналов для запуска событий. Однако, когда я использую прямые вызовы для запуска событий, конечный автомат ведет себя правильно. Я посмотрел в документации по буст…
1 ответ

boost::signal2 undefined-reference при связывании библиотек

Я хотел бы связать две библиотеки с моей программой. Первый, определяет объект (класса ProducerObject), который испускает сигнал. Вторая библиотека определяет два класса: подчиненный класс, который содержит несколько экземпляров ProducerObject и мас…
24 июн '13 в 22:28
0 ответов

Как можно изменить класс на функцию в C++?

template<unsigned arity, typename Signature, typename Combiner, typename Group, typename GroupCompare, typename SlotFunction, typename ExtendedSlotFunction, typename Mutex> class signalN; // partial template specialization template<typename…
02 дек '17 в 08:22