boost-function

    0热度

    1回答

    首先声明,我正在替换一堆使用boost :: function和boost :: bind的代码。但是,我正在转向不允许rtti的代码库。我想继续使用提升,但不知道是否有解决此限制的方法。 所以,我试图模仿它的一些功能,但更简单。我有一个回调类: template <class Class, typename ReturnType = void> class Callback0 { ty

    10热度

    2回答

    一些C++对象没有拷贝构造函数,但有移动构造函数。 例如,boost :: promise。 如何使用它们的移动构造函数来绑定这些对象? #include <boost/thread.hpp> void fullfil_1(boost::promise<int>& prom, int x) { prom.set_value(x); } boost::function<void

    6热度

    5回答

    我有一个工人阶级像下面这样: class Worker{ public: int Do(){ int ret = 100; // do stuff return ret; } } 它打算与升压::线程执行和boost ::绑定,如: Worker worker; boost::function<int()> th_func = boost

    7热度

    3回答

    我正在为动态加载的库实现平台无关的包装器。当然,当我从库中加载函数时,我需要将它们存储为将来使用的指针。我想用boost :: function来代替普通的函数指针。当然,这会增加编译时间,但这不是我所害怕的。相反: 什么是由boost ::函数引入的开销,当调用存储的函数?有一个吗?它有多大? 我想我不会有太多时间调用这些函数的开销,但是,如何调用函数呢? (极端示例,加载的GL库上的glVer

    67热度

    1回答

    以下代码会导致cl.exe崩溃(MS VS2005)。 我想使用升压绑定来创建一个函数来调用一个MyClass的的方法: #include "stdafx.h" #include <boost/function.hpp> #include <boost/bind.hpp> #include <functional> class myclass { public: void f

    1热度

    2回答

    我有下面的代码使用for循环,我想使用变换,或者至少是for_each,但我看不到如何。 typedef std::list<boost::function<void(void) > CallbackList; CallbackList callbacks_; //... for(OptionsMap::const_iterator itr = options.begin(); itr !

    5热度

    2回答

    我试图通过使用boost::bind和boost::contains(来自boost/algoritm/string library)来创建std::find_if的谓词。 以下片段显示了两种方法,我试图完成此操作。 #include <boost/algorithm/string.hpp> #include <boost/bind.hpp> #include <boost/function.

    17热度

    2回答

    我有一个函数,我想要一个可选的boost :: function参数作为报告错误条件的回调函数。是否有一些特殊的值可以使用默认值使其成为可选项? 例如,对于一个普通函数指针我可以这样做: void my_func(int a, int b, t_func_ptr err_callback=NULL) { if (error && (err_callback != NULL))

    1热度

    1回答

    为什么这个boost :: lambda表达式不起作用? boost::function<bool (boost::uint64_t, boost::uint64_t&, unsigned int, float)> myFunct = boost::lambda::_3 < 1; 我得到了这些编译错误,这可能不会有帮助,因为它们真的很神秘。 || In file included from /

    8热度

    1回答

    我有一个看在加速“功能”类文档,以及跨越这个偶然: boost::function<float (int x, int y)> f; 我必须承认这个语法是对我来说非常混乱。这怎么可能是合法的C++? 引擎盖下有什么窍门吗?这种语法是否在任何地方记录?