<?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[Gesucht: combine_iterator]]></title><description><![CDATA[<p>Moin zusammen,</p>
<p>ich suche einen Iteratoradapter, der 2 Iterator über eine Funktion kombiniert. Vielleicht hab ich mit falschen Stichwörtern gesucht, aber bis jetzt hab ich weder in der STL noch in Boost irgendwas passendes gefunden.</p>
<p>Ziel ist es, sowas machen zu können:</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; vA, vB;

combine_iterator begin(vA.begin(), vB.begin(), std::multiplies&lt;int&gt;());
combine_iterator end(vA.end(), vB.end());

// irgendwas damit machen, z.B.
int sum = std::accumulate(begin, end, 0);
// sum = vA[0]*vB[0] + vA[1]*vB[1] + ...
</code></pre>
<p>Das ist irgendwie so nützlich (und allgemein gehalten), dass wird es doch bestimmt schon geben...<br />
Kennt da irgendjemand was passendes, oder muss ich mir das selber basteln?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261260/gesucht-combine_iterator</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 13:27:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261260.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Feb 2010 20:43:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gesucht: combine_iterator on Mon, 15 Feb 2010 20:43:41 GMT]]></title><description><![CDATA[<p>Moin zusammen,</p>
<p>ich suche einen Iteratoradapter, der 2 Iterator über eine Funktion kombiniert. Vielleicht hab ich mit falschen Stichwörtern gesucht, aber bis jetzt hab ich weder in der STL noch in Boost irgendwas passendes gefunden.</p>
<p>Ziel ist es, sowas machen zu können:</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; vA, vB;

combine_iterator begin(vA.begin(), vB.begin(), std::multiplies&lt;int&gt;());
combine_iterator end(vA.end(), vB.end());

// irgendwas damit machen, z.B.
int sum = std::accumulate(begin, end, 0);
// sum = vA[0]*vB[0] + vA[1]*vB[1] + ...
</code></pre>
<p>Das ist irgendwie so nützlich (und allgemein gehalten), dass wird es doch bestimmt schon geben...<br />
Kennt da irgendjemand was passendes, oder muss ich mir das selber basteln?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856208</guid><dc:creator><![CDATA[DerKuchen]]></dc:creator><pubDate>Mon, 15 Feb 2010 20:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Gesucht: combine_iterator on Mon, 15 Feb 2010 21:43:47 GMT]]></title><description><![CDATA[<p>In Deinem speziellen Fall kannst Du auch einfach std::inner_product statt std::accumulate nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856242</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 15 Feb 2010 21:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to Gesucht: combine_iterator on Tue, 16 Feb 2010 08:49:48 GMT]]></title><description><![CDATA[<p>boost zip_iterator</p>
<p><a href="http://www.boost.org/doc/libs/1_42_0/libs/iterator/doc/zip_iterator.html#examples" rel="nofollow">http://www.boost.org/doc/libs/1_42_0/libs/iterator/doc/zip_iterator.html#examples</a></p>
<pre><code class="language-cpp">std::for_each(
  boost::make_zip_iterator(
    boost::make_tuple(beg1, beg2)
    ),
  boost::make_zip_iterator(
    boost::make_tuple(end1, end2)
    ),
  zip_func()
  );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1856372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856372</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Tue, 16 Feb 2010 08:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Gesucht: combine_iterator on Tue, 16 Feb 2010 09:08:08 GMT]]></title><description><![CDATA[<p>std::transform müsste eigentlich alles bieten, was du brauchst. Ist allerdings fürchterlich unleserlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856379</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 09:08:08 GMT</pubDate></item><item><title><![CDATA[Reply to Gesucht: combine_iterator on Tue, 16 Feb 2010 15:31:49 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>In Deinem speziellen Fall kannst Du auch einfach std::inner_product statt std::accumulate nehmen.</p>
</blockquote>
<p>Für diesen speziellen Fall auf jeden Fall super, danke.</p>
<p>Der zip_iterator von Boost sieht auch interessant aus, wusste ichs doch, dass ich was übersehen hab.</p>
<p>Danke für die Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856668</guid><dc:creator><![CDATA[DerKuchen]]></dc:creator><pubDate>Tue, 16 Feb 2010 15:31:49 GMT</pubDate></item></channel></rss>