<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Richtigen Typ aussuchen als Funktion eines anderen Typs zur Compile-Zeit]]></title><description><![CDATA[<p>Hallo,<br />
gibt es irgendeine Möglichkeit zur Compile-Zeit einen Typen als Funtion eines anderen Typen zu generieren?</p>
<p>Etwas genauer:<br />
Wenn ich Typ A habe, soll Typ AX generiert werden,<br />
wenn ich Typ B habe soll Typ BX generiert werden, etc. (die Typnamen sind nur Beispiele bzw Platzhalter)<br />
äquivalent zu einer switch-case Anweisung mit Typen.<br />
Und eben zur Compile-Zeit.</p>
<p>also Beispiel:<br />
Angenommen ich will folgende Funktionen automatisch generieren:</p>
<pre><code>AX myfunc(A foo) {
    return AX(A);  //Nur Beispiel
}
</code></pre>
<p>für viele A,AX,B,BX,C,CX,...</p>
<p>Natürlich kann ich folgende allgemeine Template Funktion angeben:</p>
<pre><code>template &lt;typenname T, typenname TX&gt;
TX myfunc(T foo) {
    //...
}
</code></pre>
<p>Aber die Sache ist eben dass TX eindeutig von T abhängt.<br />
Ich habe also eine Tabelle mit den T -&gt; TX.<br />
Wie kann ich das dem Compiler rüberbringen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339910/richtigen-typ-aussuchen-als-funktion-eines-anderen-typs-zur-compile-zeit</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:01:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339910.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Oct 2016 12:56:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Richtigen Typ aussuchen als Funktion eines anderen Typs zur Compile-Zeit on Fri, 07 Oct 2016 12:57:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
gibt es irgendeine Möglichkeit zur Compile-Zeit einen Typen als Funtion eines anderen Typen zu generieren?</p>
<p>Etwas genauer:<br />
Wenn ich Typ A habe, soll Typ AX generiert werden,<br />
wenn ich Typ B habe soll Typ BX generiert werden, etc. (die Typnamen sind nur Beispiele bzw Platzhalter)<br />
äquivalent zu einer switch-case Anweisung mit Typen.<br />
Und eben zur Compile-Zeit.</p>
<p>also Beispiel:<br />
Angenommen ich will folgende Funktionen automatisch generieren:</p>
<pre><code>AX myfunc(A foo) {
    return AX(A);  //Nur Beispiel
}
</code></pre>
<p>für viele A,AX,B,BX,C,CX,...</p>
<p>Natürlich kann ich folgende allgemeine Template Funktion angeben:</p>
<pre><code>template &lt;typenname T, typenname TX&gt;
TX myfunc(T foo) {
    //...
}
</code></pre>
<p>Aber die Sache ist eben dass TX eindeutig von T abhängt.<br />
Ich habe also eine Tabelle mit den T -&gt; TX.<br />
Wie kann ich das dem Compiler rüberbringen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510862</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Fri, 07 Oct 2016 12:57:59 GMT</pubDate></item><item><title><![CDATA[Reply to Richtigen Typ aussuchen als Funktion eines anderen Typs zur Compile-Zeit on Fri, 07 Oct 2016 13:33:49 GMT]]></title><description><![CDATA[<p>Hm, bin kein Template-Experte, aber so ginge es zum Beispiel:</p>
<pre><code>template &lt;typename T&gt; struct convertType {};
template &lt;&gt; struct convertType&lt;int&gt; { using type = float; };
template &lt;&gt; struct convertType&lt;char&gt; { using type = double; };
// hier weitere Typen einfügen
template &lt;typename T&gt; using convertType_t = typename convertType&lt;T&gt;::type;

(...)

convertType_t&lt;int&gt; a; // a ist nun ein float
convertType_t&lt;chat&gt; b; // b ist nun ein double
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2510864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510864</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Fri, 07 Oct 2016 13:33:49 GMT</pubDate></item></channel></rss>