Flylib.com
C++ Templates: The Complete Guide
C++ Templates: The Complete Guide
ISBN: 0201734842
EAN: 2147483647
Year: 2002
Pages: 185
Authors:
David Vandevoorde
,
Nicolai M. Josuttis
BUY ON AMAZON
Main Page
Table of content
Copyright
Preface
Acknowledgments
Nico s Acknowledgments
David s Acknowledgments
Chapter 1. About This Book
1.1 What You Should Know Before Reading This Book
1.2 Overall Structure of the Book
1.3 How to Read This Book
1.4 Some Remarks About Programming Style
1.5 The Standard versus Reality
1.6 Example Code and Additional Informations
1.7 Feedback
Part I: The Basics
Chapter 2. Function Templates
2.1 A First Look at Function Templates
2.2 Argument Deduction
2.3 Template Parameters
2.4 Overloading Function Templates
2.5 Summary
Chapter 3. Class Templates
3.1 Implementation of Class Template Stack
3.2 Use of Class Template Stack
3.3 Specializations of Class Templates
3.4 Partial Specialization
3.5 Default Template Arguments
3.6 Summary
Chapter 4. Nontype Template Parameters
4.1 Nontype Class Template Parameters
4.2 Nontype Function Template Parameters
4.3 Restrictions for Nontype Template Parameters
4.4 Summary
Chapter 5. Tricky Basics
5.1 Keyword typename
5.2 Using this-
5.3 Member Templates
5.4 Template Template Parameters
5.5 Zero Initialization
5.6 Using String Literals as Arguments for Function Templates
5.7 Summary
Chapter 6. Using Templates in Practice
6.1 The Inclusion Model
6.2 Explicit Instantiation
6.3 The Separation Model
6.4 Templates and inline
6.5 Precompiled Headers
6.6 Debugging Templates
6.7 Afternotes
6.8 Summary
Chapter 7. Basic Template Terminology
7.1 Class Template or Template Class ?
7.2 Instantiation and Specialization
7.3 Declarations versus Definitions
7.4 The One-Definition Rule
7.5 Template Arguments versus Template Parameters
Part II: Templates in Depth
Chapter 8. Fundamentals in Depth
8.1 Parameterized Declarations
8.2 Template Parameters
8.3 Template Arguments
8.4 Friends
8.5 Afternotes
Chapter 9. Names in Templates
9.1 Name Taxonomy
9.2 Looking Up Names
9.3 Parsing Templates
9.4 Derivation and Class Templates
9.5 Afternotes
Chapter 10. Instantiation
10.1 On-Demand Instantiation
10.2 Lazy Instantiation
10.3 The C Instantiation Model
10.4 Implementation Schemes
10.5 Explicit Instantiation
10.6 Afternotes
Chapter 11. Template Argument Deduction
11.1 The Deduction Process
11.2 Deduced Contexts
11.3 Special Deduction Situations
11.4 Allowable Argument Conversions
11.5 Class Template Parameters
11.6 Default Call Arguments
11.7 The Barton-Nackman Trick
11.8 Afternotes
Chapter 12. Specialization and Overloading
12.1 When Generic Code Doesn t Quite Cut It
12.2 Overloading Function Templates
12.3 Explicit Specialization
12.4 Partial Class Template Specialization
12.5 Afternotes
Chapter 13. Future Directions
13.1 The Angle Bracket Hack
13.2 Relaxed typename Rules
13.3 Default Function Template Arguments
13.4 String Literal and Floating-Point Template Arguments
13.5 Relaxed Matching of Template Template Parameters
13.6 Typedef Templates
13.7 Partial Specialization of Function Templates
13.8 The typeof Operator
13.9 Named Template Arguments
13.10 Static Properties
13.11 Custom Instantiation Diagnostics
13.12 Overloaded Class Templates
13.13 List Parameters
13.14 Layout Control
13.15 Initializer Deduction
13.16 Function Expressions
13.17 Afternotes
Part III: Templates and Design
Chapter 14. The Polymorphic Power of Templates
14.1 Dynamic Polymorphism
14.2 Static Polymorphism
14.3 Dynamic versus Static Polymorphism
14.4 New Forms of Design Patterns
14.5 Generic Programming
14.6 Afternotes
Chapter 15. Traits and Policy Classes
15.1 An Example: Accumulating a Sequence
15.2 Type Functions
15.3 Policy Traits
15.4 Afternotes
Chapter 16. Templates and Inheritance
16.1 Named Template Arguments
16.2 The Empty Base Class Optimization (EBCO)
16.3 The Curiously Recurring Template Pattern (CRTP)
16.4 Parameterized Virtuality
16.5 Afternotes
Chapter 17. Metaprograms
17.1 A First Example of a Metaprogram
17.2 Enumeration Values versus Static Constants
17.3 A Second Example: Computing the Square Root
17.4 Using Induction Variables
17.5 Computational Completeness
17.6 Recursive Instantiation versus Recursive Template Arguments
17.7 Using Metaprograms to Unroll Loops
17.8 Afternotes
Chapter 18. Expression Templates
18.1 Temporaries and Split Loops
18.2 Encoding Expressions in Template Arguments
18.3 Performance and Limitations of Expression Templates
18.4 Afternotes
Part IV: Advanced Applications
Chapter 19. Type Classification
19.1 Determining Fundamental Types
19.2 Determining Compound Types
19.3 Identifying Function Types
19.4 Enumeration Classification with Overload Resolution
19.5 Determining Class Types
19.6 Putting It All Together
19.7 Afternotes
Chapter 20. Smart Pointers
20.1 Holders and Trules
20.2 Reference Counting
20.3 Afternotes
Chapter 21. Tuples
21.1 Duos
21.2 Recursive Duos
21.3 Tuple Construction
21.4 Afternotes
Chapter 22. Function Objects and Callbacks
22.1 Direct, Indirect, and Inline Calls
22.2 Pointers and References to Functions
22.3 Pointer-to-Member Functions
22.4 Class Type Functors
22.5 Specifying Functors
22.6 Introspection
22.7 Function Object Composition
22.8 Value Binders
Functor Operations: A Complete Implementation
22.10 Afternotes
Appendix A. The One-Definition Rule
A.1 Translation Units
A.2 Declarations and Definitions
A.3 The One-Definition Rule in Detail
Appendix B. Overload Resolution
B.1 When Does Overload Resolution Kick In?
B.2 Simplified Overload Resolution
B.3 Overloading Details
Bibliography
Newsgroups
Books and Web Sites
Glossary
C++ Templates: The Complete Guide
ISBN: 0201734842
EAN: 2147483647
Year: 2002
Pages: 185
Authors:
David Vandevoorde
,
Nicolai M. Josuttis
BUY ON AMAZON
Documenting Software Architectures: Views and Beyond
Relation to Other Viewtypes
Client-Server Style
How to Document Behavior: Notations and Languages
C4ISR Architecture Framework
ECS Architecture Documentation Roadmap
Java for RPG Programmers, 2nd Edition
Arrays And Vectors
An Object Orientation
Threads
User Interface
Database Access
Twisted Network Programming Essentials
Getting Started
Working with POST Data from HTML Forms
Calling SOAP Web Services
NNTP Clients and Servers
Using NNTP as a User Interface
After Effects and Photoshop: Animation and Production Effects for DV and Film, Second Edition
Cause and Effect
Blue-Screen Garbage Mattes
Rotoscoping Techniques with Photoshop
Making Movies from Stills
Motion Titling Effects
Professional Struts Applications: Building Web Sites with Struts ObjectRelational Bridge, Lucene, and Velocity (Experts Voice)
Managing Business Logic with Struts
Building a Data Access Tier with ObjectRelationalBridge
Templates and Velocity
Creating a Search Engine with Lucene
Building the JavaEdge Application with Ant and Anthill
File System Forensic Analysis
Application Category
Introduction
Superblock
Symbolic Link
Bibliography
flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net
Privacy policy
This website uses cookies. Click
here
to find out more.
Accept cookies