Storing a set of arrays of different types
<p>As a matter of interest, lets say I have the following class:</p>

<pre><code>class Data
{
public:
    template&lt;class T&gt;
    std::vector&lt;T&gt; getData(std::string&amp; dataName);
private:
    ...
}:
</code></pre>

<p>So the class stores a set of vectors of any type. Each vector has a name and I know its type when retrieving it. What container might I use to store this data within the Data class? A <code>std::vector&lt;std::pair&lt;std::string,std::vector&lt;T&gt;&gt;&gt;</code>?</p>

<p><strong>UPDATE</strong>:</p>

<p>I will also need to iterate over this class and the items must be in the same orders as I added them.</p>

<p>For example, I might have:</p>

<pre><code>ownerNames: std::vector&lt;std::string&gt;;
ipAddress: std::vector&lt;char&gt;;
</code></pre>

<p>in my store. So when I iterate I need them in this order.</p>
