<?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[Löse folgende Gleichung: RTTI=evil]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde mal gerne wissen, warum man RTTI nicht benutzen soll. Überall lese ich nur, dass es nicht gut wäre, aber keiner erklärt, wieso genau.</p>
<p>Ist RTTI etwa sowas wie die dunkle Seite der Macht in C++ ?</p>
<p>Gruß,</p>
<p>Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242580/löse-folgende-gleichung-rtti-evil</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 18:19:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242580.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Jun 2009 12:51:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 12:51:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde mal gerne wissen, warum man RTTI nicht benutzen soll. Überall lese ich nur, dass es nicht gut wäre, aber keiner erklärt, wieso genau.</p>
<p>Ist RTTI etwa sowas wie die dunkle Seite der Macht in C++ ?</p>
<p>Gruß,</p>
<p>Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721741</guid><dc:creator><![CDATA[TdZ]]></dc:creator><pubDate>Fri, 05 Jun 2009 12:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 12:53:34 GMT]]></title><description><![CDATA[<p>wer erzählt so einen quark?<br />
egal, einfach nicht darauf hören...</p>
<p>PS:<br />
damit meine ich: verantwortungsbewusst.<br />
rtti ist kein ersatz für sauberes design.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721743</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 05 Jun 2009 12:53:34 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 13:07:37 GMT]]></title><description><![CDATA[<p>Hach ja, durch das PS hab ich doch wieder Angst bekommen. Ich werd das jetzt einfach mit nem Singleton-Pattern lösen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721757</guid><dc:creator><![CDATA[TdZ]]></dc:creator><pubDate>Fri, 05 Jun 2009 13:07:37 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 13:45:27 GMT]]></title><description><![CDATA[<p>TdZ schrieb:</p>
<blockquote>
<p>Hach ja, durch das PS hab ich doch wieder Angst bekommen. Ich werd das jetzt einfach mit nem Singleton-Pattern lösen...</p>
</blockquote>
<p>Öhmm... Was hat RTTI mit Singleton zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721774</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 05 Jun 2009 13:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 13:55:07 GMT]]></title><description><![CDATA[<p>TdZ schrieb:</p>
<blockquote>
<p>Ich werd das jetzt einfach mit nem Singleton-Pattern lösen...</p>
</blockquote>
<p>Er. Ja, Singletons, gute Wahl. Singletons sind meist die sauberste Lösung für alles, und jeder der behauptet dass sie gleich böse wie globale Variablen sind, hat natürlich keine Ahnung wovon er redet! (Achtung: mindestens einer der vorangegangenen Sätze könnte Ironie enthalten)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721785</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 05 Jun 2009 13:55:07 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 14:09:32 GMT]]></title><description><![CDATA[<p>Oh ja... ist schon schade, wenn Ironie nicht rechtzeitig erkannt wird!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721796</guid><dc:creator><![CDATA[TdZ]]></dc:creator><pubDate>Fri, 05 Jun 2009 14:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 14:13:14 GMT]]></title><description><![CDATA[<p>ja, wenn man sigletons richtig anwendet, sind sie immer ok.</p>
<pre><code class="language-cpp">struct Globals
{
  int anzahlSpieler;
  string ipAdresse;
  Drucker* drucker;
  ofstream* logfile;
  /* weitere 250 zeilen */
  bool wantExit;
};
Globals&amp; Singleton::getTheGlobals();
</code></pre>
<p>;<br />
und in der main dann</p>
<pre><code class="language-cpp">while(true)
{
...
  if(Singleton::getTheGlobals().wantExit())
    exit(0);
...
}
</code></pre>
<p>das ist viel besser als globale variablen. hab aber gerade vergessen, warum das so war. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721799</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 05 Jun 2009 14:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 14:15:22 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>ja, wenn man sigletons richtig anwendet, sind sie immer ok.</p>
<pre><code class="language-cpp">struct Globals
{
  int anzahlSpieler;
  string ipAdresse;
  Drucker* drucker;
  ofstream* logfile;
  /* weitere 250 zeilen */
  bool wantExit;
};
Globals&amp; Singleton::getTheGlobals();
</code></pre>
<p>;<br />
und in der main dann</p>
<pre><code class="language-cpp">while(true)
{
...
  if(Singleton::getTheGlobals().wantExit())
    exit(0);
...
}
</code></pre>
<p>das ist viel besser als globale variablen. hab aber gerade vergessen, warum das so war. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Weil man die Entwicklungszeit durch zusätzliche Schreibarbeit verlängern kann. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721801</guid><dc:creator><![CDATA[Blubbbb]]></dc:creator><pubDate>Fri, 05 Jun 2009 14:15:22 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Fri, 05 Jun 2009 18:44:27 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>das ist viel besser als globale variablen. hab aber gerade vergessen, warum das so war. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Es ist eben &quot;objektorientiert&quot;. :p</p>
<p>TdZ schrieb:</p>
<blockquote>
<p>ich würde mal gerne wissen, warum man RTTI nicht benutzen soll. Überall lese ich nur, dass es nicht gut wäre, aber keiner erklärt, wieso genau.</p>
<p>Ist RTTI etwa sowas wie die dunkle Seite der Macht in C++ ?</p>
</blockquote>
<p>Hm, nein. Die dunkle Seite der Macht wird von einem Grossteil durch Zeiger und böse Casts beherrscht. Präprozessor-Metaprogrammierung gewinnt jedoch zunehmend an Einfluss. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>RTTI ist ja nicht nur <code>typeid</code> . Das ganze System mit dynamischen Typen geht darunter, zum Beispiel Exceptions oder <code>dynamic_cast</code> . Viele Programme würden ohne RTTI also gar nicht funktionieren. Trotzdem soll das nicht heissen, man sollte unbedacht mit <code>typeid</code> und <code>dynamic_cast</code> hantieren (wie üblich). Mit virtuellen Funktionen kommt man in der Polymorphie meistens schon sehr weit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1721958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1721958</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 05 Jun 2009 18:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:42:28 GMT]]></title><description><![CDATA[<p>Kommen wir mal zur Sache.<br />
Ich kenne Fälle, wo <strong>catch(Exception&amp; e){cout&lt;&lt;typeid(e).name()&lt;&lt;&quot;: &quot;&lt;&lt;e.why()</strong> oder sowas steht.<br />
Ich kenne Fälle, wo <strong>string getClassName()</strong> per RTTI gelöst wird, um komplexe Datenverflechtungen zu speichern und zu laden. Eine <strong>virtual string getClassName()=0</strong> in der Basisklasse nebst in jeder geerbten einer wäre nicht schrecklich schlimm, wenn wir mal das Gedankenexperiment anstellen würden, ohne RTTI auskommen zu wollen.</p>
<p>nur mag ich mich gerade nicht an andere fälle erinnern. kennst du wichtige oder häufige fälle anderer art? oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722051</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 03:43:51 GMT]]></title><description><![CDATA[<p>Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert.</p>
<p>-*_</p>
<p>dynamic_casts sind auf 64 bit MS Systemen extrem lahm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722087</guid><dc:creator><![CDATA[Codetier]]></dc:creator><pubDate>Sat, 06 Jun 2009 03:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 04:31:48 GMT]]></title><description><![CDATA[<p>Codetier schrieb:</p>
<blockquote>
<p>Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert.</p>
</blockquote>
<p>Blablabla</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722088</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 06 Jun 2009 04:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 05:33:15 GMT]]></title><description><![CDATA[<p>Dein Niveau ist immer wieder beeindruckend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722091</guid><dc:creator><![CDATA[Codetier]]></dc:creator><pubDate>Sat, 06 Jun 2009 05:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 06:27:20 GMT]]></title><description><![CDATA[<p>Natürlich, was hast du denn erwartet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722097</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 06 Jun 2009 06:27:20 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:19:56 GMT]]></title><description><![CDATA[<p>Etwas mehr als Blablabla</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722104</guid><dc:creator><![CDATA[Codetier]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:23:58 GMT]]></title><description><![CDATA[<p>Als Antwort auf den Unfug den du da losgelassen hast?<br />
I don't think so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722108</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:27:35 GMT]]></title><description><![CDATA[<p>Du meinst also wirklich, dass Singletons als Ersatz für globale Variablen gedacht sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722110</guid><dc:creator><![CDATA[Codetier]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:45:21 GMT]]></title><description><![CDATA[<p>Codetier schrieb:</p>
<blockquote>
<p>dynamic_casts sind auf 64 bit MS Systemen extrem lahm.</p>
</blockquote>
<p>In Visual C++ vielleicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722112</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 07:47:22 GMT]]></title><description><![CDATA[<p>Vielleicht war's so gemeint:<br />
Singletons SIND globale Variablen. Wenn man das weiß, war der Spruch &quot;Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert.&quot; in der Tat nicht so prickelnd.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722113</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 06 Jun 2009 07:47:22 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 08:18:29 GMT]]></title><description><![CDATA[<p>Genau dieser Gedanke führt dazu das Singleton immer als &quot;besserer&quot; Ersatz für globale Variablen gesehen werden. Der Name sagt doch schon für was sie da sind. Für alles wovon es nur eines geben darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722119</guid><dc:creator><![CDATA[Codetier]]></dc:creator><pubDate>Sat, 06 Jun 2009 08:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 08:31:46 GMT]]></title><description><![CDATA[<p>TdZ schrieb:</p>
<blockquote>
<p>Ist RTTI etwa sowas wie die dunkle Seite der Macht in C++ ?</p>
</blockquote>
<p>Das ist meist historisch bedingt, da alte C++ Compiler mit RTTI so ihre Probleme hatten. Aktuell sollte man RTTI immer verwenden, es hat keinen Sinn darauf zu verzichten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722123</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Sat, 06 Jun 2009 08:31:46 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 08:47:33 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>kennst du wichtige oder häufige fälle anderer art? oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?</p>
</blockquote>
<p>Wenn Du x von einer Basisklasse abgeleiteten Objekte in einem Container halten willst, z.B. in einem Grafikprogramm Rectangle, Circle, Line, Point, deren Oberklasse Drawable ist. Manche C++ Programmierer würden dazu schlechtes Design sagen. Aber es ist aber ein kohärentes Design.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722132</guid><dc:creator><![CDATA[C++Fan 2009]]></dc:creator><pubDate>Sat, 06 Jun 2009 08:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 09:15:35 GMT]]></title><description><![CDATA[<p>C++Fan 2009 schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>kennst du wichtige oder häufige fälle anderer art? oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?</p>
</blockquote>
<p>Wenn Du x von einer Basisklasse abgeleiteten Objekte in einem Container halten willst, z.B. in einem Grafikprogramm Rectangle, Circle, Line, Point, deren Oberklasse Drawable ist. Manche C++ Programmierer würden dazu schlechtes Design sagen. Aber es ist aber ein kohärentes Design.</p>
</blockquote>
<p>aber dann mache ich doch zeichenDing-&gt;draw() und draw ist virtual. du müßtest konkreter werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722142</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 06 Jun 2009 09:15:35 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 09:16:33 GMT]]></title><description><![CDATA[<p>Codetier schrieb:</p>
<blockquote>
<p>Genau dieser Gedanke führt dazu das Singleton immer als &quot;besserer&quot; Ersatz für globale Variablen gesehen werden. Der Name sagt doch schon für was sie da sind. Für alles wovon es nur eines geben darf.</p>
</blockquote>
<p>ist heute der tag der allgemeinplätze?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722143</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 06 Jun 2009 09:16:33 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 09:21:13 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?</p>
</blockquote>
<p>Reflection wäre da an erster Stelle zu schreiben. In C++ muß man ohnehin viel machen, damit Reflection umgesetzt werden kann, aber ohne RTTI ist es ein Krampf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722147</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Sat, 06 Jun 2009 09:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to Löse folgende Gleichung: RTTI=evil on Sat, 06 Jun 2009 11:41:26 GMT]]></title><description><![CDATA[<p>Braucht man Reflection wirklich oft in C++? Wäre es hierfür nicht meist geeigneter, gleich eine dynamischere Sprache zu nehmen?</p>
<p>@ volkard: Mir fällt sonst auch nicht gleich ein wichtiger Fall ein, aber gerade Exceptions kommen wohl in fast allen C++-Programmen vor...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722207</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 06 Jun 2009 11:41:26 GMT</pubDate></item></channel></rss>