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
C & Data Structures (Charles River Media Computer Engineering)
Data Types
Recursion
Problems in Stacks and Queues
Problems in Linked Lists
Miscellaneous Problems
Oracle SQL*Plus: The Definitive Guide (Definitive Guides)
What Is SQL*Plus?
Executing the Statement in the Buffer
The EDIT Command
Controlling Variable Substitution
Improving on EXPLAIN PLAN Results
HTI+ Home Technology Integrator & CEDIA Installer I All-In-One Exam Guide
Planning a Structured Wiring Installation
Home Communication System Basics
Home Access Control Systems
Programming
Appendix A Home Technology Project Management
Quantitative Methods in Project Management
Project Value: The Source of all Quantitative Measures
Introduction to Probability and Statistics for Projects
Making Quantitative Decisions
Expense Accounting and Earned Value
Quantitative Methods in Project Contracts
Special Edition Using FileMaker 8
Relational Integrity
FileMaker Extra: Tips for Becoming a Calculation Master
Creating Scripts
Troubleshooting
FileMaker Extra: User Interface Heuristics
DNS & BIND Cookbook
Configuring a Name Server as the Primary Master for a Zone
Limiting Concurrent Recursive Clients
Setting Up a Hidden Primary Master Name Server
Introduction
Discarding a Category of Messages
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