Forgive me if this has been answered already, as I couldn\'t find it...
Basically I have an object that needs to take a variadic argument list in it\'s constructor
Another way to do it:
#include
#include
using std::vector;
template
void variadic_vector_emplace(vector&) {}
template
void variadic_vector_emplace(vector& v, First&& first, Args&&... args)
{
v.emplace_back(std::forward(first));
variadic_vector_emplace(v, std::forward(args)...);
}
struct my_struct
{
template
my_struct(Args&&... args)
{
variadic_vector_emplace(_data, std::forward(args)...);
}
vector& data() { return _data; }
private:
vector _data;
};
int main()
{
my_struct my(5, 6, 7, 8);
for(int i : my.data())
std::cout << i << std::endl;
}