<?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[Template zum potenzieren]]></title><description><![CDATA[<p>Hiho,</p>
<p>ich will ein Template, was mir auzs einem Wert udn einer Konstante entsprechend z.B. sowas generiert<br />
value*value*value</p>
<p>Das habe ich bisher:</p>
<pre><code class="language-cpp">//
template&lt;class T,int count&gt;
inline T potentize(T value)
{
	return value * potentize&lt;T,count - 1&gt;(value);
}

template&lt;class T&gt;
inline T potentize&lt;T,1&gt;(T value)
{
	return value;
}

template&lt;class T&gt;
inline T potentize&lt;T,0&gt;(T value)
{
	return T(1);
}
</code></pre>
<p>Gibt aber nen Compilefehler: error C2768: 'potentize': Unzulässige Verwendung von expliziten Vorlagenargumenten</p>
<p>Was ist daran falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179972/template-zum-potenzieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 13:42:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179972.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Apr 2007 08:49:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 08:53:49 GMT]]></title><description><![CDATA[<p>Hiho,</p>
<p>ich will ein Template, was mir auzs einem Wert udn einer Konstante entsprechend z.B. sowas generiert<br />
value*value*value</p>
<p>Das habe ich bisher:</p>
<pre><code class="language-cpp">//
template&lt;class T,int count&gt;
inline T potentize(T value)
{
	return value * potentize&lt;T,count - 1&gt;(value);
}

template&lt;class T&gt;
inline T potentize&lt;T,1&gt;(T value)
{
	return value;
}

template&lt;class T&gt;
inline T potentize&lt;T,0&gt;(T value)
{
	return T(1);
}
</code></pre>
<p>Gibt aber nen Compilefehler: error C2768: 'potentize': Unzulässige Verwendung von expliziten Vorlagenargumenten</p>
<p>Was ist daran falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274408</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 08:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 08:54:24 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich recht informiert bin, dürfen Funktionstemplates nicht partiell spezialisiert werden ... was Du aber tust.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274412</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 27 Apr 2007 08:54:24 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 08:55:54 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>wenn ich recht informiert bin, dürfen Funktionstemplates nicht partiell spezialisiert werden ... was Du aber tust.</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>das waren Member-Templates was du meinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274415</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 08:55:54 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 08:57:10 GMT]]></title><description><![CDATA[<p>Template-Funktionen kannst du nicht partiell spezialisieren, deshalb geht das so nicht. Und darum nimmt man in der Metaprogrammierung normalerweise Template-Klassen als Grundlage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274417</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 27 Apr 2007 08:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 09:09:39 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>wenn ich recht informiert bin, dürfen Funktionstemplates nicht partiell spezialisiert werden ... was Du aber tust.</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>das waren Member-Templates was du meinst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich glaube nicht ! Was ich meinte, waren und sind tatsächlich <em>Funktionstemplates</em> ... ob diese Funktion nun eine Memberfunktion ist, spielt dabei keine Rolle.<br />
Allerdings muss ich gestehen, dass ich nicht genau weiß, ws Du mit &quot;Membertemplate&quot; meinst....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274422</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 27 Apr 2007 09:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 09:09:22 GMT]]></title><description><![CDATA[<p>ok danke, dann hatte ich mir das falsch gemerkt,<br />
habs jetzt geändert und es funzt wunderbar<br />
brauch das ganze letztendlich eh als Klassen-Functor für transform <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274423</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 09:09:22 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 09:10:42 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>...es funzt wunderbar...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Super !</p>
<p>Schönen Tag noch,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274424</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 27 Apr 2007 09:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 09:13:02 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Allerdings muss ich gestehen, dass ich nicht genau weiß, ws Du mit &quot;Membertemplate&quot; meinst....</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>Damit meinte ich Methode von Klassen.<br />
Das mit den Funktionstemplates hatte ich mir wirklich irgendwie falsch gemerkt.<br />
Naja dank euch wurde dieser Misstand beseitigt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Nochmal danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274425</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 09:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 13:14:29 GMT]]></title><description><![CDATA[<p>nur mal eine frage...</p>
<p>das ganze mag ja gut funktionieren, solange count konstant ist und vorm compilen eingegeben wird, aber ist diese lösung nich ...ähm etwas gefräßig, was speicherverbrauch angeht? also, ich meine, wenn du da count=1000 eingibst, erzeugt ja der compiler nach deiner template 1000 funktionen... (oder?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> ) und variable potenz kannst du dann auch nicht übergeben... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>warum nicht lieber:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
T potentize(T value, unsigned int counter){
  if(counter==1){
    return value;
  }else{
    return value*potentize(value, counter--);
  }
}
</code></pre>
<p>wenn ich irgendwie grad quatsch rede, dann wär ich glücklich wenn ihr mir erklären würdet,, was an counter als template-parameter so entscheidend besser sein soll... :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274621</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 27 Apr 2007 13:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 13:21:05 GMT]]></title><description><![CDATA[<p>Andrey schrieb:</p>
<blockquote>
<p>also, ich meine, wenn du da count=1000 eingibst, erzeugt ja der compiler nach deiner template 1000 funktionen...</p>
</blockquote>
<p>Im Idealfall nicht. Der Compiler erkennt nämlich durchaus, dass das ganze konstant ist und wird das ganze zur Compilezeit auswerten. Dadurch wird letztendlich *ein* Wert in der resultierenden Datei stehen. Und da ist auch schon der Vorteil dieser Methode sichtbar: Es ist verdammt effizent, denn das Ausrechnen braucht zur Laufzeit *keine* Zeit.</p>
<p>Abgesehen davon wird man mit count=100 wahrscheinlich einige Probleme haben, da die Compiler ab einer gewissen Verschachtelungstiefe nicht mehr mitmachen. Der Standard verlangt außerdem auch nur, dass ein Compiler viel weniger Verschachtelungstiefen zwingend beherrscht (AFAIR 17).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274628</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 27 Apr 2007 13:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 13:22:11 GMT]]></title><description><![CDATA[<p>Andrey schrieb:</p>
<blockquote>
<p>wenn ich irgendwie grad quatsch rede, dann wär ich glücklich wenn ihr mir erklären würdet,, was an counter als template-parameter so entscheidend besser sein soll... :p</p>
</blockquote>
<p>Das Ergebnis steht zur Compile-Zeit fest und nicht wie bei deiner Variante zur Laufzeit <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1274632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274632</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 27 Apr 2007 13:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 13:31:25 GMT]]></title><description><![CDATA[<p>Andrey schrieb:</p>
<blockquote>
<p>warum nicht lieber:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
T potentize(T value, unsigned int counter){
  if(counter==1){
    return value;
  }else{
    return value*potentize(value, counter--);
  }
}
</code></pre>
</blockquote>
<p>Hmm, wenn Du schon eine rekursive Lösung haben willst (was IMHO gut ist!), dann mach sie besser endrekursiv, das kann der Compiler ebenfalls optimieren, und zwar so, dass im Maschinencode keine Rekursion mehr steht sondern eine &quot;konventionelle&quot; Schleife, was ebenfalls effizienter ist.</p>
<pre><code class="language-cpp">unsigned power(unsigned value, unsigned counter, unsigned accu = 1)
{
    if (counter == 0)
        return accu;
    else
        return power(value, counter - 1, accu * value);
}
</code></pre>
<p>(Zum Thema Endrekursion siehe Wikipedia.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274643</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 27 Apr 2007 13:31:25 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 13:33:29 GMT]]></title><description><![CDATA[<p>aha... schon eine tolle sache... aber ich kann mir im moment irgendwie nicht so wirklich vorstellen, wozu man sowas beim potenzieren gebrauchen kann... dann kann man sich ja n taschenrechner schnappen und den wert direkt eintippen, oder sich halt n kleines programmchen schreiben, das von mir aus 8x8 matrizen multipliziert, und dann den vorberechneten wert da einsetzen... dann muss man zumindest nicht beim kompillieren jedes mal eine halbe stunde warten, bis der compiler mit den ganzen rechenaufgaben fertiggeworden ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>\edit: dieser beitrag bezieht sich auf den vorletzten beitrag <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1274644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274644</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Fri, 27 Apr 2007 13:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 14:15:52 GMT]]></title><description><![CDATA[<p>Andrey schrieb:</p>
<blockquote>
<p>warum nicht lieber:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
T potentize(T value, unsigned int counter){
  if(counter==1){
    return value;
  }else{
    return value*potentize(value, counter--);
  }
}
</code></pre>
</blockquote>
<p>also der code hat noch nen kleinen schönheitsfehler: er endet nämlich, sofern counter nicht zu beginn 1 ist, in einer endlosschleife...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274677</guid><dc:creator><![CDATA[Se_Godfaser]]></dc:creator><pubDate>Fri, 27 Apr 2007 14:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 14:48:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13810">@andrey</a>:</p>
<p>erstens wollt ich das machen, um mal ein bissl Metaprogrammierung zu machen, auch wenn es nicht sooo viel Sinn an der Stelle macht^^<br />
Aber wie soll man sich daran gewöhnen, wenn man nicht auf mal im kleinen anfängt.</p>
<p>zweitens Werte von 1000 oder so kommen da nicht vor:</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5021">@konrad</a>: nur der Exponent ist konstant, nicht der eigentliche Wert.<br />
Ziel ist folgendes: ich arbeite grad an einer Approximation. und da habe ich ziemlich viele Werte, die ich oft aussummieren, quadrieren oder auch mal ^3 und 4 nehmen muss und dann wieder summieren oder multipliziern usw.<br />
Ich habe aber nur Ganzzahl-Exponenten. pow ist drauf aufgelegt mit Fließkommazahlen zu arbeiten und da nehme ich an value * value ist schneller, als wenn ich pow(value,2.0) mache (value ist immer double)</p>
<p>Nun durch die vielen Werte will ich gern stl::transform nehmen für solche Sachen, brauche dann also Funktionsobjekte. Und damit ich mir nicht für <sup>2,</sup>3,^4 jedesmal so ne kleine Klasse schreiben muss, wollt ich halt gerne das Template, was wir dann das value*value* .... generiert. Ist der ganze Hintergrund.</p>
<p>edit:</p>
<blockquote>
<p>wenn ich irgendwie grad quatsch rede, dann wär ich glücklich wenn ihr mir erklären würdet,, was an counter als template-parameter so entscheidend besser sein soll... :p</p>
</blockquote>
<p>Durch das counter als Templateargument und dem inline müsste der eigentlich zum Schluss wirklich ein &quot;value*value*...&quot; draus machen und halt nicht diesen rekursiven Funktionsaufruf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274693</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 14:48:20 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 15:01:22 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>Nun durch die vielen Werte will ich gern stl::transform nehmen für solche Sachen, brauche dann also Funktionsobjekte.</p>
</blockquote>
<p>Dann schreib auch eine Klasse und keine Funktion:</p>
<pre><code class="language-cpp">template&lt;typename T, int c&gt;
struct Pow
{
    T operator()(T x) const
    {
        return Pow&lt; c / 2 &gt;()( x ) * Pow&lt; ( c - 1 ) / 2 &gt;()( x ) * x;
    }
};
template&lt;typename T&gt;
struct Pow&lt; T, 0 &gt;
{
    T operator()(T) const
    {
        return 1;
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1274706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274706</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 27 Apr 2007 15:01:22 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 17:06:01 GMT]]></title><description><![CDATA[<p>erstens schon längst gemacht, siehe Seite 1 unter es funzt<br />
(eine Klasse sollte eh noch kommen nur bei Template-Funktionen sucht er sich halt selber den Typ raus was praktisch ist)</p>
<p>zweitens was soll denn das sein?</p>
<pre><code class="language-cpp">return Pow&lt; c / 2 &gt;()( x ) * Pow&lt; ( c - 1 ) / 2 &gt;()( x ) * x;
</code></pre>
<p>Bringt bei mir nur nen Compilefehler hab das an der Stelle so gemacht:</p>
<pre><code class="language-cpp">return value * Potentize&lt;T,count - 1&gt;().operator ()(value);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1274767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274767</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 27 Apr 2007 17:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Template zum potenzieren on Fri, 27 Apr 2007 19:45:29 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>erstens schon längst gemacht, siehe Seite 1 unter es funzt<br />
(eine Klasse sollte eh noch kommen nur bei Template-Funktionen sucht er sich halt selber den Typ raus was praktisch ist)</p>
<p>zweitens was soll denn das sein?</p>
<pre><code class="language-cpp">return Pow&lt; c / 2 &gt;()( x ) * Pow&lt; ( c - 1 ) / 2 &gt;()( x ) * x;
</code></pre>
<p>Bringt bei mir nur nen Compilefehler hab das an der Stelle so gemacht:</p>
<pre><code class="language-cpp">return value * Potentize&lt;T,count - 1&gt;().operator ()(value);
</code></pre>
</blockquote>
<p>Hab ich wohl übersehen. Es muss nat.</p>
<pre><code class="language-cpp">Pow&lt; T, c / 2 &gt;()( x ) * Pow&lt; T, ( c - 1 ) / 2 &gt;()( x ) * x;
</code></pre>
<p>heißen. So werden weniger Templates instantiiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274844</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 27 Apr 2007 19:45:29 GMT</pubDate></item></channel></rss>