No. arguments to boost :: bind

How many maximum arguments can we pass boost :: bind ()

+4
source share
2 answers

Even if you cannot switch to C ++ 11, you should go from boost :: to TR1 functions, which was a preview for C ++ 11

Basically, what started with the boost :: function becoming part of the C ++ standard library, which is currently defined using variable templates. In a nutshell, this means that there is no longer a hard limit (but you may need to define additional placeholder variables if you need something outside of _19 )

To switch from boost :: function to std :: tr1, do the following

find all occurrences of #include <boost/function> and #include <boost/bind> and replace them with:

  #include <tr1/functional> using std::tr1::function; using std::tr1::bind; using std::tr1::placeholders::_1; using std::tr1::placeholders::_2; ... 

This should work as a replacement. If you have to switch to C ++ 11 later, just drop out of the "tr1" part.

+3
source

Source: https://habr.com/ru/post/1339166/


All Articles