<?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[Boost multi Index]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mir bisher einen Container geschrieben in dem ich drei Interger werte ablege.</p>
<p>Das füllen funktiononiert soweit nun wie kann ich die daten wieder auslesen??</p>
<p>Hier der Code:</p>
<p>Erstellen des Container</p>
<pre><code class="language-cpp">struct grPer 
	{ 
		int no, data, data2 ;

		grPer(int n, int s, int d) 
		: no(n), data(s), data2 (d) 
		{ 
		} 
	};

	typedef boost::multi_index::multi_index_container&lt;
		grPer,boost::multi_index::indexed_by&lt;

		boost::multi_index::hashed_unique&lt;
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::no 
				&gt; 
			&gt;, 

			boost::multi_index::hashed_non_unique&lt; 
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::data 
				&gt; 
			&gt;,

			boost::multi_index::hashed_non_unique&lt;
				boost::multi_index::member&lt;
					grPer, int, &amp;grPer::data2
				&gt;
			&gt;
		&gt;
	&gt;mp_per;
</code></pre>
<p>n * Füllen</p>
<pre><code class="language-cpp">...
mp_per test;
test.insert(grPer(1,5,7));
...
</code></pre>
<p>Nun will ich in den Datensätzen z.b. nach allen elementen mit data == 5 suchen und die zugehörigen werte von No ausgeben.</p>
<p>Also quasi über alle element iterieren. so in der art.</p>
<pre><code class="language-cpp">for ( mp_per::iterator it = test.begin(); it != test.end(); it++)

	{

	}
</code></pre>
<p>Ich weiß nur nicht wie ich an die 5 bzw. an die anderen elemente kommen soll?<br />
Die einschlägigen seiten wie <a href="http://boost.org" rel="nofollow">boost.org</a> und <a href="http://highscore.de" rel="nofollow">highscore.de</a> hab ich schon durch. Komme damit aber nicht wirklich vorwärts.</p>
<p>Ok vllt anders ausgedrück ich will eine drei elementriege struktur in einer Hashmap ablegen, dann durchsuchen und einzelen attribute von elementen ausgeben. (mit boost)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274918/boost-multi-index</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 07:55:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274918.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Oct 2010 12:33:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost multi Index on Tue, 05 Oct 2010 13:26:36 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mir bisher einen Container geschrieben in dem ich drei Interger werte ablege.</p>
<p>Das füllen funktiononiert soweit nun wie kann ich die daten wieder auslesen??</p>
<p>Hier der Code:</p>
<p>Erstellen des Container</p>
<pre><code class="language-cpp">struct grPer 
	{ 
		int no, data, data2 ;

		grPer(int n, int s, int d) 
		: no(n), data(s), data2 (d) 
		{ 
		} 
	};

	typedef boost::multi_index::multi_index_container&lt;
		grPer,boost::multi_index::indexed_by&lt;

		boost::multi_index::hashed_unique&lt;
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::no 
				&gt; 
			&gt;, 

			boost::multi_index::hashed_non_unique&lt; 
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::data 
				&gt; 
			&gt;,

			boost::multi_index::hashed_non_unique&lt;
				boost::multi_index::member&lt;
					grPer, int, &amp;grPer::data2
				&gt;
			&gt;
		&gt;
	&gt;mp_per;
</code></pre>
<p>n * Füllen</p>
<pre><code class="language-cpp">...
mp_per test;
test.insert(grPer(1,5,7));
...
</code></pre>
<p>Nun will ich in den Datensätzen z.b. nach allen elementen mit data == 5 suchen und die zugehörigen werte von No ausgeben.</p>
<p>Also quasi über alle element iterieren. so in der art.</p>
<pre><code class="language-cpp">for ( mp_per::iterator it = test.begin(); it != test.end(); it++)

	{

	}
</code></pre>
<p>Ich weiß nur nicht wie ich an die 5 bzw. an die anderen elemente kommen soll?<br />
Die einschlägigen seiten wie <a href="http://boost.org" rel="nofollow">boost.org</a> und <a href="http://highscore.de" rel="nofollow">highscore.de</a> hab ich schon durch. Komme damit aber nicht wirklich vorwärts.</p>
<p>Ok vllt anders ausgedrück ich will eine drei elementriege struktur in einer Hashmap ablegen, dann durchsuchen und einzelen attribute von elementen ausgeben. (mit boost)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961632</guid><dc:creator><![CDATA[free118]]></dc:creator><pubDate>Tue, 05 Oct 2010 13:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to Boost multi Index on Tue, 05 Oct 2010 14:43:41 GMT]]></title><description><![CDATA[<p>so ich hab jetzt was geändert und bin etwas weiter.</p>
<p>Jetzt hab nur ein problem it-&gt;data ist immer leer. Ich will in der If schleife seine value() (wie bei listen) vergleichen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">struct grPer 
	{ 
		int no, data, data2;

		grPer(int n, int s, int d) 
		: no(n), data(s), data2 (d) 
		{ 
		} 
	};

	typedef boost::multi_index::multi_index_container&lt;
		grPer,boost::multi_index::indexed_by&lt;
		boost::multi_index::sequenced&lt;&gt;, 	
		boost::multi_index::ordered_unique&lt;
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::no 
				&gt; 
			&gt;/*, 

			boost::multi_index::ordered_non_unique&lt; 
				boost::multi_index::member&lt; 
					grPer, int, &amp;grPer::data 
				&gt; 
			&gt;,

			boost::multi_index::ordered_non_unique&lt;
				boost::multi_index::member&lt;
					grPer, int, &amp;grPer::data2
				&gt;
			&gt;*/
		&gt;
	&gt;mp_per;
</code></pre>
<p>füllen in einer Funktion</p>
<pre><code class="language-cpp">mp_per test;
test.push_back(grPer(i_no,i_data,i_data2));
</code></pre>
<p>Hier liegt das problem!</p>
<pre><code class="language-cpp">for ( mp_per::iterator it = test.begin(); it != test.end(); it++)

	{		
                // ID wird der funktion am anfang übergeben ist ein normaler int		
                if (it-&gt;data == ID)
		{
			...
                            ...
		}
</code></pre>
<p>Mein Problem ist it-&gt;data ist immer leer !!<br />
Wieso?? außerdem weiß ich nicht wie ich mir den inhalt von it im Debugger von VS anschauen kann, also die totalen werte (no,dataund data2 wo er gerade dran ist).</p>
<p>Hoffentlich kann mir nun jemand helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961689</guid><dc:creator><![CDATA[free118]]></dc:creator><pubDate>Tue, 05 Oct 2010 14:43:41 GMT</pubDate></item></channel></rss>