Contents in Detail
xv
Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Defining a Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Type Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Building Concepts from Requires Expressions . . . . . . . . . . . . . . . . . . . . . . . 167
Using Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Ad Hoc Requires Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
static_assert: The Preconcepts Stopgap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Non-Type Template Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Variadic Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Advanced Template Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Template Specialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Name Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Type Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Template Metaprogramming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Template Source Code Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Polymorphism at Runtime vs . Compile Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Dostları ilə paylaş: