I'm working on a project quite particular since I can't use all C++11 features. In particular, I have `variadics` template but no `tuple`.
What I'm struggling to do is to create a templated class which can store meta-data, ie a set of data. I don't know in advance what type is used, and how many of them there will be.
Basically, that's what I want to do

```
#include<tuple>
template<typename... Data>
class Base{
 private:
std::tuple<Data...> mydata;

public:
Base{Data... data):
    mydata(data...){}

void set_data(Data... data){
    mydata = std::tie(data...)
}

```

This example is working...but relied on `tuple`. I know that I can do something similar without `tuple`, using `ArgumentPack`. However, I'm not familiar with that.

So far, I thought about using `struct` to store my data, since it's the only other way I know to store different types. So I should look like this : 

```
template<typename typename<...> class ArgumentPack, typename... Data>
class Base{
 private:
struct mydata{
//Something here
};

public: 
Base(Data... data){
    //assign data into mydata struct
}

void set_data(Data... data){
    //???
}

mydata get_data(){
    //???
}

```