<?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[Design by Contract]]></title><description><![CDATA[<p>Hallo Leute.</p>
<p>Gibt es fuer C++ irgendwelche verwendbaren Design by Contract Libraries - also Systeme die vorallem Preconditions, Postconditions und Invarianten unterstuetzen? Idealerweise nur in der Debug Version.</p>
<p>Bin fuer alle Links dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210037/design-by-contract</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 17:37:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210037.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Apr 2008 14:52:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Design by Contract on Sun, 06 Apr 2008 14:52:41 GMT]]></title><description><![CDATA[<p>Hallo Leute.</p>
<p>Gibt es fuer C++ irgendwelche verwendbaren Design by Contract Libraries - also Systeme die vorallem Preconditions, Postconditions und Invarianten unterstuetzen? Idealerweise nur in der Debug Version.</p>
<p>Bin fuer alle Links dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487421</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 06 Apr 2008 14:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Design by Contract on Sun, 06 Apr 2008 15:03:25 GMT]]></title><description><![CDATA[<p>Hem, bringt C++ nicht sowas schon von Haus aus mit? const und assert fällt mir da ein. Was soll denn so eine Library können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487427</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 06 Apr 2008 15:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to Design by Contract on Sun, 06 Apr 2008 15:05:55 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Hem, bringt C++ nicht sowas schon von Haus aus mit? const und assert fällt mir da ein. Was soll denn so eine Library können?</p>
</blockquote>
<p>Was const damit zu tun hat, ka.</p>
<p>assert ist eine minimal Loesung.</p>
<p>Ich brauche zB soetwas:</p>
<pre><code class="language-cpp">template &lt;class InputIterator, class OutputIterator&gt;
OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result) {
	precondition(
		first&lt;=last &amp;&amp; //valid range
		(result&lt;first || last&gt;result) //result not within [first,last) range
		//theoretisch fehlt hier die ueberpruefung ob result genug Speicher hat um die ganzen Elemente auch aufzunehmen
	)
	while(first!=last) {
		*result = *first;
		++result;
		++first;
	}
	return result;
	postcondition (
		equal(first, last, result) &amp;&amp;//Zugriff auf die originalen Werte
		return == result + (last-first)
	)
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1487429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487429</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 06 Apr 2008 15:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to Design by Contract on Sun, 06 Apr 2008 15:44:33 GMT]]></title><description><![CDATA[<p>Uhm, vielleicht kannst du mit <a href="http://www.gnu.org/software/nana/nana.html" rel="nofollow">http://www.gnu.org/software/nana/nana.html</a> etwas anfangen. Ansonsten werden die Design by Contract (TM) Ideen in C u. C++ IMHO mit dem Präprozessor irgendwie &quot;implementiert&quot;. Eine so einfache Handhabung wie in Eiffel hab ich für C++ noch nicht gesehen. Die Links sind als Ideengeber gedacht.</p>
<p>EDIT (Links):</p>
<p><a href="http://adtmag.com/joop/article.aspx?id=4593" rel="nofollow">http://adtmag.com/joop/article.aspx?id=4593</a><br />
<a href="http://www.math.uni-wuppertal.de/~buhl/teach/exercises/PbC07/programmingbycontract.pdf" rel="nofollow">http://www.math.uni-wuppertal.de/~buhl/teach/exercises/PbC07/programmingbycontract.pdf</a><br />
<a href="http://www.ddj.com/cpp/184405997" rel="nofollow">http://www.ddj.com/cpp/184405997</a><br />
<a href="http://www.lifeglass.org/PVAMU/COMP3113/ProgrammingByContractExampleCpp.pdf" rel="nofollow">http://www.lifeglass.org/PVAMU/COMP3113/ProgrammingByContractExampleCpp.pdf</a><br />
<a href="http://seal.ifi.unizh.ch/fileadmin/User_Filemount/Vorlesungs_Folien/Seminar_SE/SS06/kandrical_design_contract.pdf" rel="nofollow">http://seal.ifi.unizh.ch/fileadmin/User_Filemount/Vorlesungs_Folien/Seminar_SE/SS06/kandrical_design_contract.pdf</a><br />
<a href="http://www.aspectc.org/" rel="nofollow">http://www.aspectc.org/</a> IMHO könnte man AOP dazu verwenden um Verträge zu implementieren, deshalb der Link zu einer AOP Lib.</p>
<p>Und in der Zeitschrift &quot;Proceedings of the Technology of Object-Oriented Languages and Systems&quot; sollte der Artikel &quot;Emulating Design by Contract in C++&quot; zu finden sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487430</guid><dc:creator><![CDATA[TheTester]]></dc:creator><pubDate>Sun, 06 Apr 2008 15:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to Design by Contract on Sun, 06 Apr 2008 15:12:42 GMT]]></title><description><![CDATA[<p><a href="http://www.gnu.org/software/nana/nana.html" rel="nofollow">http://www.gnu.org/software/nana/nana.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1487431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1487431</guid><dc:creator><![CDATA[pragmatiker]]></dc:creator><pubDate>Sun, 06 Apr 2008 15:12:42 GMT</pubDate></item><item><title><![CDATA[Reply to Design by Contract on Wed, 18 Mar 2009 06:48:17 GMT]]></title><description><![CDATA[<p>Hello! Very good job(this site)! Thank you man.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1681903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1681903</guid><dc:creator><![CDATA[pxctwqbfmw]]></dc:creator><pubDate>Wed, 18 Mar 2009 06:48:17 GMT</pubDate></item></channel></rss>