<?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[Member Tuple initialisieren]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe eine Klasse, die als Member ein std::tuple von mehreren Elementen hat und moechte alle Elemente des Tuples mit dem selben Set von Argumenten initialisieren. Geht das irgendwie?</p>
<p>Beispiel:</p>
<pre><code>struct X
{
	X() : t(... initialisiere alle mit (1, 2, 3) ...) {}

	std::tuple&lt;Foo, Bar, Baz&gt; t;
};
</code></pre>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330901/member-tuple-initialisieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 15:54:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330901.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Jan 2015 18:25:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 18:26:04 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe eine Klasse, die als Member ein std::tuple von mehreren Elementen hat und moechte alle Elemente des Tuples mit dem selben Set von Argumenten initialisieren. Geht das irgendwie?</p>
<p>Beispiel:</p>
<pre><code>struct X
{
	X() : t(... initialisiere alle mit (1, 2, 3) ...) {}

	std::tuple&lt;Foo, Bar, Baz&gt; t;
};
</code></pre>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440651</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 31 Jan 2015 18:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 18:28:55 GMT]]></title><description><![CDATA[<p>std::make_tuple(...) ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440652</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 31 Jan 2015 18:28:55 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 18:31:22 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>std::make_tuple(...) ?</p>
</blockquote>
<p>Erfordert, dass die Typen Copyable/Movable sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440653</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 31 Jan 2015 18:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 19:02:41 GMT]]></title><description><![CDATA[<p>Dann solltest du etwas konkreter werden oO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440657</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 31 Jan 2015 19:02:41 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 19:16:29 GMT]]></title><description><![CDATA[<p>std::piecwise_construct_t gibts afaik nur für std::pair.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440658</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 31 Jan 2015 19:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 19:33:40 GMT]]></title><description><![CDATA[<p>Kannste deine Klassen nicht <code>std::initializer_list</code> o.ä. nehmen lassen?</p>
<p>Ansonsten wird</p>
<blockquote>
<p>Erfordert, dass die Typen Copyable/Movable sind.</p>
</blockquote>
<p>nicht zu umgehen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440660</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 31 Jan 2015 19:33:40 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 20:03:44 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Kannste deine Klassen nicht <code>std::initializer_list</code> o.ä. nehmen lassen?</p>
</blockquote>
<p>Nein, da die Argumente auch unterschiedlichen Typs sein werden. Und ueberhaupt muesste ich dazu jetzt zig Klassen umschreiben.</p>
<p>Vielleicht kann ich zumindest Movability bekommen. Wie wuerde ich das denn mit make_tuple machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440670</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 31 Jan 2015 20:03:44 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Sat, 31 Jan 2015 20:24:10 GMT]]></title><description><![CDATA[<blockquote>
<p>Nein, da die Argumente auch unterschiedlichen Typs sein werden. Und ueberhaupt muesste ich dazu jetzt zig Klassen umschreiben.</p>
</blockquote>
<p>Das klingt doof. Ich würde dir da echt raten auf <code>tuple</code> zu verzichten und was eigenes zu basteln.</p>
<p>Falls du movability bekommst könntest du sowas basteln:</p>
<pre><code>struct X
{
    X() : X(std::make_index_sequence&lt;std::tuple_size&lt;decltype(t)&gt;{}&gt;()) {}

    std::tuple&lt;Foo, Bar, Baz&gt; t;

private:

    template &lt;std::size_t... indices&gt;
    X(std::index_sequence&lt;indices...&gt;) : t(std::tuple_element_t&lt;indices, decltype(t)&gt;(1, 2, 3)...) {}
};
</code></pre>
<p><a href="http://coliru.stacked-crooked.com/a/379245d0193ca403" rel="nofollow"><strong>Demo</strong></a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440677</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 31 Jan 2015 20:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Mon, 02 Feb 2015 12:37:17 GMT]]></title><description><![CDATA[<p>Klappt, danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440801</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 02 Feb 2015 12:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Mon, 02 Feb 2015 14:21:36 GMT]]></title><description><![CDATA[<p>Frage zum Verständnis:<br />
Wieso kann man</p>
<p>[quote=&quot;Arcoth&quot;]</p>
<blockquote>
<pre><code>... &lt;std::tuple_size&lt;decltype(t)&gt;{}
</code></pre>
</blockquote>
<p>schreiben statt</p>
<pre><code>std::tuple_size&lt;decltype(t)&gt;::value
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440814</guid><dc:creator><![CDATA[value]]></dc:creator><pubDate>Mon, 02 Feb 2015 14:21:36 GMT</pubDate></item><item><title><![CDATA[Reply to Member Tuple initialisieren on Tue, 03 Feb 2015 02:50:06 GMT]]></title><description><![CDATA[<p>Weil <code>std::integral_constant</code> einen <code>constexpr operator value_type</code> hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2440904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2440904</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 03 Feb 2015 02:50:06 GMT</pubDate></item></channel></rss>