Two basic examples on templates.
add.cc shows usage of function templates for "adding" values of some given type. The files
Ring_Buffer.tcc shows a use-case of a class template - a ring buffer. Due to the compiler model of templates, the definitions from
Ring_Buffer.tcc is included in the header file instead of compiled separately.
Ring_Buffer-v2 is a modified variant where the user can choose which container to use as internal storage.