@Nat<br>What you have provided is the exact and final implementation I chose. I found no reason to pass the derived type to the base.<br><br>@Steven<br>I never took the time to say thank you. You&#39;ve been absolutely wonderful, I really do appreciate all of the help you&#39;ve given me. I almost feel like I should pay you... but don&#39;t get any smart ideas about that! :)<br>
<br>You take care and thanks so much.<br><br><div class="gmail_quote">On Wed, Apr 2, 2008 at 9:54 AM, Nat Goodspeed &lt;<a href="mailto:nat@lindenlab.com">nat@lindenlab.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Steven Watanabe wrote:<br>
&gt;<br>
&gt; I was just thinking of moving the duplicated code into CRTPPacket<br>
&gt;<br>
&gt; template&lt;class Derived, PacketID Id&gt;<br>
&gt; struct CRTPPacket : Packet {<br>
&gt; &nbsp; &nbsp; static const PacketID ID = Id;<br>
&gt; &nbsp; &nbsp; virtual PacketID getID() const { return(ID); }<br>
&gt; };<br>
<br>
</div>Does it even need to be CRTP?<br>
<br>
template&lt;PacketID Id&gt;<br>
struct IDPacket : Packet {<br>
<div class="Ih2E3d"> &nbsp; &nbsp; static const PacketID ID = Id;<br>
 &nbsp; &nbsp; virtual PacketID getID() const { return(ID); }<br>
};<br>
<br>
</div>Perhaps we&#39;re assuming other methods that would make use of Derived.<br>
<div><div></div><div class="Wj3C7c">_______________________________________________<br>
Boost-users mailing list<br>
<a href="mailto:Boost-users@lists.boost.org">Boost-users@lists.boost.org</a><br>
<a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank">http://lists.boost.org/mailman/listinfo.cgi/boost-users</a><br>
</div></div></blockquote></div><br>