<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Crtp on Jasper</title><link>https://jasper-aa64.github.io/tags/crtp/</link><description>Recent content in Crtp on Jasper</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 02 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jasper-aa64.github.io/tags/crtp/index.xml" rel="self" type="application/rss+xml"/><item><title>Trading System Notes #8: CRTP and Static Polymorphism</title><link>https://jasper-aa64.github.io/posts/crtp-static-polymorphism/</link><pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate><guid>https://jasper-aa64.github.io/posts/crtp-static-polymorphism/</guid><description>The base class writes the flow and the subclass fills in the details: virtual functions pick the subclass at run time, CRTP at compile time. What you save is more than one indirect jump: the call inlines completely and the object has no vptr. The price is that Base&lt;A&gt; and Base&lt;B&gt; are unrelated types and can&amp;rsquo;t share a container.</description></item></channel></rss>