Chapter 5: Type Traits and Conditional Compilation

Type traits are an important metaprogramming technique that enables us to inspect properties of types or to perform transformations of types at compile-time. Type traits are themselves templates and you can see them as meta-types. Knowing information such as the nature of a type, its supported operations, and its various properties is key for performing conditional compilation of templated code. It is also very useful when writing a library of templates.

In this chapter, you will learn the following:

  • Understanding and defining type traits
  • Understanding SFINAE and its purpose
  • Enabling SFINAE with the enable_if type trait
  • Using constexpr if
  • Exploring the standard type traits
  • Seeing real-world ...

Get Template Metaprogramming with C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.