Additional description of this techinc can be found at  http://my-it-notes.com/2013/11/templates-in-plain-c/