<?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::any und boost::shared_ptr]]></title><description><![CDATA[<p>Ich habe hier gerade einen riesen Stress und will nur folgendes wissen: Darf ich einen beliebigen <code>boost::shared_ptr&lt;typename&gt;</code> (oder meinetwegen auch andere Smart Pointer...) als <code>boost::any</code> ablegen? Ich brauche ein möglichst allgemein gehaltenes Interface einen Haufen fast gleich aussehender Templates... <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/248645/boost-any-und-boost-shared_ptr</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 21:07:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248645.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Aug 2009 13:03:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::any und boost::shared_ptr on Thu, 27 Aug 2009 13:03:07 GMT]]></title><description><![CDATA[<p>Ich habe hier gerade einen riesen Stress und will nur folgendes wissen: Darf ich einen beliebigen <code>boost::shared_ptr&lt;typename&gt;</code> (oder meinetwegen auch andere Smart Pointer...) als <code>boost::any</code> ablegen? Ich brauche ein möglichst allgemein gehaltenes Interface einen Haufen fast gleich aussehender Templates... <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767655</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Thu, 27 Aug 2009 13:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to boost::any und boost::shared_ptr on Thu, 27 Aug 2009 13:50:32 GMT]]></title><description><![CDATA[<p>/rant/ schrieb:</p>
<blockquote>
<p>Ich habe hier gerade einen riesen Stress und will nur folgendes wissen: Darf ich einen beliebigen <code>boost::shared_ptr&lt;typename&gt;</code> (oder meinetwegen auch andere Smart Pointer...) als <code>boost::any</code> ablegen?</p>
</blockquote>
<p>Ja. Du müsstest alles, was kopierbar ist, in einem boost::any Objekt speichern können.</p>
<p>/rant/ schrieb:</p>
<blockquote>
<p>Ich brauche ein möglichst allgemein gehaltenes Interface einen Haufen fast gleich aussehender Templates... <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>
</blockquote>
<p>Aha. Ich würde boost::any vermeiden, soweit es geht. Vielleicht gibt es in Deinem Fall eine elegantere Variante. Mehr kann man jetzt dazu nicht sagen, weil Du so gut wie nichts verraten hast.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767697</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Thu, 27 Aug 2009 13:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to boost::any und boost::shared_ptr on Thu, 27 Aug 2009 17:42:42 GMT]]></title><description><![CDATA[<p>Wenn du die Typ-Sicherheit von boost::any nicht brauchst, könntest du auch einen <code>shared_ptr&lt;void&gt;</code> verwenden.<br />
Mit <code>static_pointer_cast&lt;T&gt;(spvoid)</code> bekommst du dann wieder den originalen shared_ptr&lt;T&gt; - nur eben wie gesagt ohne Check. T muss also stimmen, und wenn T nicht stimmt, gibt's halt UB.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1767850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1767850</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 27 Aug 2009 17:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to boost::any und boost::shared_ptr on Fri, 28 Aug 2009 14:19:46 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>/rant/ schrieb:</p>
<blockquote>
<p>Ich brauche ein möglichst allgemein gehaltenes Interface einen Haufen fast gleich aussehender Templates... <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>
</blockquote>
<p>Aha. Ich würde boost::any vermeiden, soweit es geht. Vielleicht gibt es in Deinem Fall eine elegantere Variante. Mehr kann man jetzt dazu nicht sagen, weil Du so gut wie nichts verraten hast.</p>
</blockquote>
<p>Es geht hier um <em>Garbage Collection</em>, <em>Serialization</em> und <em>Runtime Type Information</em>. Ich habe einen prinzipiell beliebigen, dynamisch verschachtelten Baum, dessen Knoten über eine Schnittstelle erweitertes RTTI anbieten (Identifizierung, Kon- und Destruktoraufrufe, Layoutdaten etc.), welcher von meiner selbstgebauten GC mittels Smart Pointern verwaltet wird. Einen solchen Baum versuche ich nun mittels Serialisierung zu speichern bzw. zu laden. Zu diesem Zweck beabsichtige ich, die Knotentypen als <em>serializable</em> zu markieren, indem ich über RTTI einen formatunabhängigen Serializer anbiete. Ich brauche <code>boost::any</code> , weil ich eine allgemeine Schnittstelle brauche und trotzdem auf Typsicherheit angewiesen bin. Pretty much high-level stuff <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1768324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1768324</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Fri, 28 Aug 2009 14:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to boost::any und boost::shared_ptr on Fri, 28 Aug 2009 15:10:41 GMT]]></title><description><![CDATA[<p>Nach deiner Beschreibung kann ich mir grad garnicht vorstellen, wo du hier boost::any brauchen könntest.</p>
<p>p.S.: wieso willst du in C++ einen GC implementieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1768352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1768352</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 28 Aug 2009 15:10:41 GMT</pubDate></item></channel></rss>