Concepts are coming to C++, and they will change the way we develop libraries. Concepts are connecting our code with mathematical theories, and they are important for the development of long-living high-quality libraries.
In this talk, we will implement 6 generic algorithms and will describe type requirements for template parameters in terms of concepts. We will understand when we need to write type requirements and preconditions, and why they are different. We will compile the code with a compiler which has the support of concepts and will take a look at how it helps us to use code written in terms of concepts.