Get parameter types of all function overloads
<p>Assume I have a class <code>bar</code> with multiple implementations of method <code>foo</code>:</p>

<pre><code>struct bar {
    void foo(int, int);
    void foo(float, bool);
    void foo(const vector&lt;void*&gt;&amp;);
}
</code></pre>

<p>Is there a possibility for me to obtain a list of lists of arguments' types? In other words, I define</p>

<pre><code>template&lt;typename... types&gt; class list {};
</code></pre>

<p>and want to obtain <code>list&lt;list&lt;int, int&gt;, list&lt;float, bool&gt;, list&lt;const vector&lt;void*&gt;&amp;&gt;&gt;</code>.</p>