Example: confidence

C++ Templates: The Complete Guide - Free

This document was created by an unregistered ChmMagic, please go to to register it. Thanks . Ru-Brd Table of Contents C++ Templates: The Complete Guide By David Vandevoorde, Nicolai M. Josuttis Publisher : Addison Wesley Pub Date : November 12, 2002. ISBN : 0-201-73484-2. Pages : 552. Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently. C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates.

How to produce more flexible and maintainable software This practical guide shows programmers how to exploit the full power of the template features in C++.

Tags:

  Guide, Complete, Template, The complete guide, C templates

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of C++ Templates: The Complete Guide - Free

1 This document was created by an unregistered ChmMagic, please go to to register it. Thanks . Ru-Brd Table of Contents C++ Templates: The Complete Guide By David Vandevoorde, Nicolai M. Josuttis Publisher : Addison Wesley Pub Date : November 12, 2002. ISBN : 0-201-73484-2. Pages : 552. Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently. C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates.

2 Examples used throughout the book illustrate abstract concepts and demonstrate best practices. Readers learn The exact behaviors of templates How to avoid the pitfalls associated with templates Idioms and techniques, from the basic to the previously undocumented How to reuse source code without threatening performance or safety How to increase the efficiency of C++ programs This document was created by an unregistered ChmMagic, please go to to register it. Thanks. How to produce more flexible and maintainable software This practical Guide shows programmers how to exploit the full power of the template features in C++. Ru-Brd This document was created by an unregistered ChmMagic, please go to to register it. Thanks. Ru-Brd Table of Contents C++ Templates: The Complete Guide By David Vandevoorde, Nicolai M. Josuttis Publisher : Addison Wesley Pub Date : November 12, 2002.

3 ISBN : 0-201-73484-2. Pages : 552. Copyright Preface Acknowledgments Nico's Acknowledgments David's Acknowledgments Chapter 1. About This Book Section What You Should Know Before Reading This Book Section Overall Structure of the Book Section How to Read This Book Section Some Remarks About Programming Style Section The Standard versus Reality Section Example Code and Additional Informations Section Feedback Part I: The Basics Chapter 2. Function Templates Section A First Look at Function Templates Section Argument Deduction Section template Parameters Section Overloading Function Templates Section Summary Chapter 3. Class Templates Section Implementation of Class template Stack Section Use of Class template Stack Section Specializations of Class Templates This document was created by an unregistered ChmMagic, please go to to register.

4 It. Thanks Section Partial Specialization Section Default template Arguments Section Summary Chapter 4. Nontype template Parameters Section Nontype Class template Parameters Section Nontype Function template Parameters Section Restrictions for Nontype template Parameters Section Summary Chapter 5. Tricky Basics Section Keyword typename Section Using this->. Section Member Templates Section template template Parameters Section Zero Initialization Section Using String Literals as Arguments for Function Templates Section Summary Chapter 6. Using Templates in Practice Section The Inclusion Model Section Explicit Instantiation Section The Separation Model Section Templates and inline Section Precompiled Headers Section Debugging Templates Section Afternotes Section Summary Chapter 7. Basic template Terminology Section "Class template " or " template Class"?

5 Section Instantiation and Specialization Section Declarations versus Definitions Section The One-Definition Rule Section template Arguments versus template Parameters Part II: Templates in Depth Chapter 8. Fundamentals in Depth Section Parameterized Declarations Section template Parameters Section template Arguments Section Friends Section Afternotes Chapter 9. Names in Templates Section Name Taxonomy Section Looking Up Names Section Parsing Templates Section Derivation and Class Templates Section Afternotes This document was created by an unregistered ChmMagic, please go to to register it. Thanks. Chapter 10. Instantiation Section On-Demand Instantiation Section Lazy Instantiation Section The C++ Instantiation Model Section Implementation Schemes Section Explicit Instantiation Section Afternotes Chapter 11. template Argument Deduction Section The Deduction Process Section Deduced Contexts Section Special Deduction Situations Section Allowable Argument Conversions Section Class template Parameters Section Default Call Arguments Section The Barton-Nackman Trick Section Afternotes Chapter 12.

6 Specialization and Overloading Section When "Generic Code" Doesn't Quite Cut It Section Overloading Function Templates Section Explicit Specialization Section Partial Class template Specialization Section Afternotes Chapter 13. Future Directions Section The Angle Bracket Hack Section Relaxed typename Rules Section Default Function template Arguments Section String Literal and Floating-Point template Arguments Section Relaxed Matching of template template Parameters Section Typedef Templates Section Partial Specialization of Function Templates Section The typeof Operator Section Named template Arguments Section Static Properties Section Custom Instantiation Diagnostics Section Overloaded Class Templates Section List Parameters Section Layout Control Section Initializer Deduction Section Function Expressions Section Afternotes Part III: Templates and Design Chapter 14.

7 The Polymorphic Power of Templates Section Dynamic Polymorphism Section Static Polymorphism Section Dynamic versus Static Polymorphism New Forms of Design Patterns This document was created by an unregistered ChmMagic, please go to to register it. Thanks. Section Generic Programming Section Afternotes Chapter 15. Traits and Policy Classes Section An Example: Accumulating a Sequence Section Type Functions Section Policy Traits Section Afternotes Chapter 16. Templates and Inheritance Section Named template Arguments Section The Empty Base Class Optimization (EBCO). Section The Curiously Recurring template Pattern (CRTP). Section Parameterized Virtuality Section Afternotes Chapter 17. Metaprograms Section A First Example of a Metaprogram Section Enumeration Values versus Static Constants Section A Second Example: Computing the Square Root Section Using Induction Variables Section Computational Completeness Section Recursive Instantiation versus Recursive template Arguments Section Using Metaprograms to Unroll Loops Section Afternotes Chapter 18.

8 Expression Templates Section Temporaries and Split Loops Section Encoding Expressions in template Arguments Section Performance and Limitations of Expression Templates Section Afternotes Part IV: Advanced Applications Chapter 19. Type Classification Section Determining Fundamental Types Section Determining Compound Types Section Identifying Function Types Section Enumeration Classification with Overload Resolution Section Determining Class Types Section Putting It All Together Section Afternotes Chapter 20. Smart Pointers Section Holders and Trules Section Reference Counting Section Afternotes Chapter 21. Tuples Section Duos Section Recursive Duos Section Tuple Construction This document was created by an unregistered ChmMagic, please go to to register it. Thanks. Section Afternotes Chapter 22. Function Objects and Callbacks Section Direct, Indirect, and Inline Calls Section Pointers and References to Functions Section Pointer-to-Member Functions Section Class Type Functors Section Specifying Functors Section Introspection Section Function Object Composition Section Value Binders Functor Operations: A Complete Implementation Section Afternotes Appendix A.

9 The One-Definition Rule Section Translation Units Section Declarations and Definitions Section The One-Definition Rule in Detail Appendix B. Overload Resolution Section When Does Overload Resolution Kick In? Section Simplified Overload Resolution Section Overloading Details Bibliography Newsgroups Books and Web Sites Glossary Ru-Brd This document was created by an unregistered ChmMagic, please go to to register Thanks Ru-Brd This document was created by an unregistered ChmMagic, please go to to register it. Thanks . Copyright Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals.

10 The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for special sales. For more information, please contact: Corporate and Government Sales (800) 382-3419. For sales outside of the United States, please contact: International Sales (317) 581-3793. Visit Addison-Wesley on the Web: Library of Congress Cataloging-in-Publication Data Vandevoorde, David. C++ templates : the Complete Guide / David Vandevoorde, Nicolai M. Josuttis. p. cm. Includes bibliographical references and index.


Related search queries