0%

Book Description

"TR1 roughly doubles the size of the C++ standard library, and it introduces many new facilities and even new kinds of library components. TR1 has some classes, for example, where some nested types may or may not exist depending on the template arguments. To programmers whose experience stops with the standard library, this is strange and unfamiliar. This book is complete (it covers all TR1 facilities), it is easier to understand than TR1 itself, and it is technically accurate."
--Matthew Austern,software engineer, Google

"TR1 will help make the C++ programmer more productive than ever. In this book, Pete Becker has written the ultimate reference guide to these components, what they are, how they work, and what they're used for. This book should be on the bookshelf of anyone who wants to use these standardized components to improve both their productivity as well as their coding quality."
--John Maddock, consultant and programmer

The current C++ standard library extends the core C++ language with common classes and functions. In recent years, to address limitations in that library, a number of components have been developed to extend the language even further. Compiled in a comprehensive technical report (TR1), the bulk of these extensions have been approved for the next revision of the C++ standard.

In this book, Pete Becker describes in detail each component in the TR1 library, explaining new facilities for utilities, containers, call wrappers, type traits, numerics, regular expressions, and C compatibility. He draws on his own experience implementing these components to illustrate their value, clarifying the specifications when necessary and providing complete, tested code examples.

Most chapters include exercises of various degrees of difficulty to help programmers get hands-on practice with the new components. Answers to the exercises, along with all code examples, are available on the Web. Appendixes comprise a summary of headers included in or extended by the TR1 library, as well as guidelines on how to use the components safely in multithreaded applications.

The C++ Standard Library Extensions is for any programmer who wants to get a jump on the revised standard. It also makes the perfect companion to The C++ Standard Library, by Nicolai Josuttis, both books being tutorials and references essential for using C++ more effectively.



Table of Contents

  1. Title Page
  2. Copyright Page
  3. Dedication
  4. Contents
  5. Preface
  6. Part I. Utilities
    1. Chapter 1. Tuples
    2. Chapter 2. Smart Pointers
  7. Part II. Containers
    1. Chapter 3. Container Basics
    2. Chapter 4. The array Class Template
    3. Chapter 5. Unordered Associative Containers
  8. Part III. Call Wrappers
    1. Chapter 6. Call Wrapper Basics
    2. Chapter 7. The mem_fn Function Template
    3. Chapter 8. The reference_wrapper Class Template
    4. Chapter 9. The function Class Template
    5. Chapter 10. The bind Function Template
  9. Part IV. Type Traits
    1. Chapter 11. Type Traits
  10. Part V. Numerics
    1. Chapter 12. Numeric Functions
    2. Chapter 13. Random Number Generators
  11. Part VI. Regular Expressions
    1. Chapter 14. The <regex> Header
    2. Chapter 15. Regular Expression Grammars
    3. Chapter 16. Regular Expression Objects
    4. Chapter 17. Searching
    5. Chapter 18. Search Results
    6. Chapter 19. Repetitive Searches
    7. Chapter 20. Formatting and Text Replacement
    8. Chapter 21. Customizing Regular Expressions
  12. Part VII. C Compatibility
    1. Chapter 22. C Compatibility
  13. Appendixes
    1. Appendix A. Headers
    2. Appendix B. Utility Headers
    3. Appendix C. Multithreading
  14. Bibliography
  15. Index
  16. Footnotes
    1. Preface
    2. Chapter 1
    3. Chapter 2
    4. Chapter 3
    5. Chapter 4
    6. Chapter 5
    7. Chapter 6
    8. Chapter 7
    9. Chapter 9
    10. Chapter 10
    11. Chapter 11
    12. Chapter 12
    13. Chapter 13
    14. Chapter 15
    15. Chapter 16
    16. Chapter 17
    17. Chapter 18
    18. Chapter 19
    19. Chapter 20
    20. Chapter 21
    21. Chapter 22
    22. Appendix C
3.21.158.148