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

NoneBoost::bind - это обобщение стандартных функций C++ std::bind1st и std::bind2nd. Он поддерживает произвольные объекты функций, функции, указатели функций и указатели функций-членов, а также может привязать любой аргумент к определенному значению или направить входные аргументы в произвольные позиции.
1 ответ

Различают const и неконстантный метод с одинаковым именем в boost::bind

Когда я использую boost::bind с именем метода, который объявлен как const, так и non-const, я получаю неоднозначную ошибку, например boost::bind( &boost::optional<T>::get, _1 ) Как я могу решить эту проблему?
14 фев '10 в 12:28
1 ответ

Почему "boost::function = boost::bind(...)" создает 13 временных?

У меня есть довольно простой тестовый код. У меня есть класс, который просто записывает все операции над ним. Я связал это с boost::function объект как это: void Function(const Foo&) { printf("Function invoked\n"); } // ... boost::function<vo…
31 янв '13 в 03:11
1 ответ

Не может вызвать функцию-член без объекта для вектора shared_ptr объекта

#include <boost/ref.hpp> //#include <boost/bind.hpp> #include <boost/shared_ptr.hpp> #include <boost/lambda/lambda.hpp> #include <boost/lambda/bind.hpp> #include <boost/mem_fn.hpp> using namespace std; using names…
31 мар '14 в 22:56
3 ответа

Как Boost Bind работает за кулисами в целом?

Не тратя много времени на просмотр исходного кода boost, не мог бы кто-нибудь дать мне краткое изложение того, как реализовано boost bind?
22 сен '08 в 01:09
1 ответ

Функция с шаблонами и бустом

Я пытаюсь написать функтор для вызова функции повышения с помощью bind и некоторого шаблона. Итак, у меня есть это главное: int function(char c) { std::cout << c << std::endl; return (0); } int main() { Function<int (char)> fb = bo…
17 дек '11 в 15:17
2 ответа

Использование boost::bind для std::string::find не компилируется

У меня есть следующий код: int MimeDocument::GetAttachmentId( std::string const& content_id ) { using namespace boost::lambda; using boost::lambda::_1; using boost::bind; int id = 0; std::vector<std::string>::iterator it = std::find_if( at…
15 мар '12 в 16:50
1 ответ

Инкапсуляция boost::signal и boost::bind

У меня сейчас проблема. Я пытаюсь инкапсулировать boost:: signal и boost:: bind в свой собственный класс Event. class MyEvent { private: boost::signal<void ()> Sig; public: void Subscribe(.........) { Sig.connect(boost:bind(.........); } void …
01 май '13 в 21:06
2 ответа

Boost bind и boost function, сохраняя функции с аргументами в векторе и затем выполняя их

Извините за плохо сформулированный заголовок. Я просматривал документацию, но не могу найти ничего, что могло бы решить эту проблему, которая у меня есть. В основном я хочу хранить несколько function1<void, void*> с предоставленными аргументам…
07 сен '12 в 20:28
2 ответа

Могу ли я хранить связанные функции в контейнере?

Рассмотрим следующий код: void func_0() { std::cout << "Zero parameter function" << std::endl; } void func_1(int i) { std::cout << "One parameter function [" << i << "]" << std::endl; } void func_2(int i, std::str…
24 авг '18 в 04:53
1 ответ

Есть ли специализация QPointer для boost::bind

boost::bind ручки boost::shared_ptr так же, как сырые указатели. QObject * object(new QObject); boost::shared_ptr<QObject> sharedObject(new QObject); bind(&QObject::setObjectName, object, _1)( "name" ); bind(&QObject::setObjectName, sh…
11 июн '09 в 13:31
1 ответ

Ошибка в шаблоне Bind Bind

//error C2784: 'HRESULT get_wrapper(T *,boost::function<R(void)>)' : //could not deduce template argument for 'boost::function<R(void)>' //from 'boost::_bi::bind_t<R,F,L>' STDMETHODIMP CAttributeValue::get_Name(BSTR* pVal) { return…
12 авг '10 в 19:29
0 ответов

boost::asio и boost::bind error

Эти вопросы немного раздражают, я не могу получить следующий код для компиляции. Вам нужно будет скомпилировать код ниже. У меня возникли некоторые проблемы с boost asio, я пытаюсь абстрагировать логику принятия соединений в единую абстракцию, чтобы…
2 ответа

boost::bind с функциями-членами (как обработчик асинхронной записи boost::asio)

Я использую boost:: bind для передачи функции-обработчика boost::asio::async_write. Когда я использую бесплатные функции, все работает нормально, но когда я пытаюсь переместить функции в класс, связывание приводит к ошибкам, которые я не могу расшиф…
08 дек '12 в 04:35
2 ответа

Копирует ли boost::function также копирование замыкания?

Скажем, у меня есть такая функция: void someFunction(const ExpensiveObjectToCopy&); Если я добавлю boost:: function, то она сохранит свою собственную клонированную копию объекта в своем закрытии: boost::function<void()> f = boost::bind(som…
31 дек '11 в 14:37
1 ответ

Использование boost::bind ... что я делаю не так

Я адаптировал код из первого ответа на следующий вопрос для создания периодического таймера: Как заставить библиотеку boost/asio повторять таймер? Я удалил переменную "count", так как метод, который я хочу выполнить повторно, не принимает никаких па…
20 мар '17 в 13:30
2 ответа

Указатель на класс функции boost bind

class Foo { double f1( int x, std::string s1 ); double f2( int x, SomeClass s2 ); } Я хочу иметь возможность связывать s1 Foo.f1 без экземпляра foo для создания в сущности typedef double (Foo::* MyFooFunc)( int ) MyFooFunc func1 = boost::bind( &…
05 авг '11 в 14:28
2 ответа

Является ли функтор, возвращаемый функцией boost::bind, с только связанными аргументами, эквивалентными функции, которая не принимает аргументов?

Предположим, API-запросы, что функция f должен иметь подпись void function(), Соответствует ли следующий пример кода этим требованиям? void func(int i) { do_something(i); } int main(int argc, char* argv[]) { int i = 3; auto f = boost::bind(func, i);…
27 фев '18 в 13:37
1 ответ

Как мне составить несколько функторов, используя Boost Bind?

У меня есть ситуация, когда у меня есть ряд функций-членов, которые производят простую информацию о целевом объекте: double MyDoc::GetX(thing) double MyDoc::GetY(thing) etc. Я сделал несколько "довольно форматирующих" функций-членов в одном классе: …
21 май '12 в 14:35
1 ответ

boost::bind help для обратного вызова с функцией-членом

Здравствуйте, я студент, работающий над моей программой, которая использует обратный вызов функции-члена. Я столкнулся с использованием привязки, которая именно то, что мне нужно. Я просто испытываю затруднения, заставляя это работать. Ниже приведен…
28 ноя '12 в 20:35
1 ответ

boost::bind() связывает дополнительные аргументы?

Связывает ли boost::bind() bind дополнительные аргументы, так как кажется, что передача функции bind без аргументов в один, ожидающий двойной аргумент, работает нормально? Если бы я должен был явно написать функцию связывания, что это должно быть? s…
27 мар '14 в 01:01