<?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::operators?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine klasse A, welche bestimmte Operatoren für eine andere template-Klasse definiert.</p>
<pre><code class="language-cpp">class A
{
 template&lt;class C&gt; friend bool operator==&lt;&gt;(const A&amp; a,const B&lt;C&gt;&amp; B);
 //...
};

template&lt;class C&gt; bool operator==&lt;&gt;(const A&amp; a,const B&lt;C&gt;&amp; B)
{
  //...
}
</code></pre>
<p>Wie muss ich nun von boost::operators btw. in diesem konkreten Fall von boost::equality_comparable ableiten, damit != und der andere ==-Operator für jedes B&lt;Klasse&gt; definiert wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194522/boost-operators</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 11:59:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194522.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Oct 2007 22:41:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::operators? on Sun, 07 Oct 2007 22:41:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine klasse A, welche bestimmte Operatoren für eine andere template-Klasse definiert.</p>
<pre><code class="language-cpp">class A
{
 template&lt;class C&gt; friend bool operator==&lt;&gt;(const A&amp; a,const B&lt;C&gt;&amp; B);
 //...
};

template&lt;class C&gt; bool operator==&lt;&gt;(const A&amp; a,const B&lt;C&gt;&amp; B)
{
  //...
}
</code></pre>
<p>Wie muss ich nun von boost::operators btw. in diesem konkreten Fall von boost::equality_comparable ableiten, damit != und der andere ==-Operator für jedes B&lt;Klasse&gt; definiert wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380162</guid><dc:creator><![CDATA[boost::operators]]></dc:creator><pubDate>Sun, 07 Oct 2007 22:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to boost::operators? on Mon, 08 Oct 2007 07:25:05 GMT]]></title><description><![CDATA[<p>Mit einem Template wird das wohl gar nicht gehen. Bleibt nur noch die Lösung es selbst nochmal hinzuschreiben. Also</p>
<pre><code class="language-cpp">template&lt; typename C &gt;
class B
{
    // ...
};

class A // : public boost::equality_comparable&lt; A, template? B&lt;&gt; &gt;
{
public:
    template&lt; typename C &gt;
    bool operator==( const B&lt; C &gt;&amp; b ) const
    {
        return // true, wenn's gleich ist;
    }

};
// -- statt boost::equality_comparable&lt; A, B&lt;&gt; &gt;
template&lt; typename C &gt;
bool operator==(const B&lt; C &gt;&amp; b, const A&amp; a) { return a == b; }
template&lt; typename C &gt;
bool operator!=(const B&lt; C &gt;&amp; b, const A&amp; a) { return !(a == b); }
template&lt; typename C &gt;
bool operator!=(const A&amp; a, const B&lt; C &gt;&amp; b) { return !(a == b); }
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380232</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 08 Oct 2007 07:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to boost::operators? on Mon, 08 Oct 2007 15:07:51 GMT]]></title><description><![CDATA[<p>Was spricht dagegen, das ganze im Template B zu implementieren? Dann kannst du auch Boost.Operators benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380566</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 08 Oct 2007 15:07:51 GMT</pubDate></item></channel></rss>