Boost logo

Boost :

Subject: Re: [boost] task_array<n> and variadic templates
From: Yechezkel Mett (ymett.on.boost_at_[hidden])
Date: 2008-11-19 05:02:21


On Wed, Nov 19, 2008 at 3:18 AM, vicente.botet <vicente.botet_at_[hidden]>wrote:

> Hi,
>
> I want to create an static task_array<n> which must be initiaized with n
> functors.
>
> In pseudo code:
>
> template <std::size N>
> struct task_array {
> template <typename F_1, ..., typename F_N>
> task_array(F_1 f1, ..., F_N fN);
> };
>
You could use a normal variadic template constructor with a static_assert in
it. If that's not good enough (i.e. you need to remove the constructor from
the overload set) I would suggest enable_if, but I can't think of a way to
get it into the constructor. With concepts you could do

requires std::True<sizeof...(T) == N>

Yechezkel Mett


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk