Statements (53)
Predicate | Object |
---|---|
gptkbp:instanceOf |
Programming Language Feature
|
gptkbp:documentedIn |
gptkb:The_C++_Programming_Language
C++ Standard Library Documentation |
gptkbp:enables |
Compile-time Computation
Generic Programming Policy-based Design Type-safe Code Reuse Zero-overhead Abstraction |
gptkbp:hasFeature |
CRTP
SFINAE Default Template Arguments Explicit Specialization Partial Specialization Template Aliases Template Argument Deduction Template Instantiation Template Template Parameters |
gptkbp:hasSyntax |
template <class T> void func(T arg) {}
template <typename T> class MyClass {}; |
https://www.w3.org/2000/01/rdf-schema#label |
C++ Templates
|
gptkbp:improves |
gptkb:C++11
gptkb:C++14 gptkb:C++17 gptkb:C++20 |
gptkbp:introducedIn |
gptkb:C++98
|
gptkbp:limitation |
Code Bloat
Complex Error Messages Difficult Debugging Limited Reflection Long Compile Times |
gptkbp:partOf |
gptkb:C++
|
gptkbp:relatedTo |
gptkb:C++_STL
gptkb:C++_Concepts C++ Metaprogramming C++ Type Traits |
gptkbp:standardizedBy |
gptkb:ISO/IEC_14882
|
gptkbp:supports |
Non-type Parameters
Template Metaprogramming Template Specialization Type Parameterization Variadic Templates |
gptkbp:usedBy |
gptkb:std::vector
std::function std::tuple std::unique_ptr std::map |
gptkbp:usedFor |
gptkb:Algorithms
Containers Policy-based Design Smart Pointers Type Traits |
gptkbp:bfsParent |
gptkb:Java_Generics
|
gptkbp:bfsLayer |
8
|