
On Mon, Oct 11, 2010 at 1:55 PM, michi7x7 <mailing-lists@michi7x7.de> wrote:
Am 11.10.2010 21:46, schrieb Ryan McConnehey:
michi7x7 wrote:
Am 11.10.2010 01:59, schrieb Ryan McConnehey: Hi,
yes it is, but you need to pass the template-parameters:
Sorter<int, 8> shell(boost::bind(quicksort<int, 8>, _1));
or simply
Sorter<int, 8> shell(quicksort<int,8>);
Regards,
michi7x7
By binding to the exact template parameters it makes the Sorter not as flexible as I'm hoping. If I have two boost arrays defined like so.
boost::array<int, 100> base10power2; boost::array<int, 1000> base10power3;
Is there a way to just bind the array type but not the size. This would let me call the same method with different size arrays.
Hi,
unfortunately not with boost::array, because the array-size is static. Use std::vector instead ;)
No, he can do it, but not with Boost.Bind that I know of, use Boost.Phoenix instead, it can do this easily (reference Boost.Phoenix.Function wrapper). Actually, he might be able to do it with Boost.Bind if he wraps it in a functor with an operator() that calls his template function...