This chapter provides the coding details for fulfilling the design principle of generality. It teaches the readers about template support in C++ with an emphasis on the aspects that arise in the Standard Library. The chapter begins with a discussion on using templates for generic programming. It shows the syntax on how to write templates and examples where templates are really useful. The chapter explains how to write class templates, how to use template parameters, and how to templatize methods of a class. It further discusses how to use class template specialization to write special implementations of a template where the template parameters are replaced with specific arguments. The chapter helps the readers learn about variable templates, function templates, and the elegant new C++20 abbreviated function template syntax. It concludes with an explanation of another C++20 feature called concepts, allowing the readers to put constraints on template parameters.