Modern C++ design: generic programming and design patterns applied

Modern C++ Designis an important book. Fundamentally, it demonstrates 'generic patterns' or 'pattern templates' as a powerful new way of creating extensible designs in C++i??a new way to combine templates and patterns that you may never have dreamt was possible, but is. If your work involves C++ design and coding, you should read this book. Highly recommended. i??Herb SutterWhat's left to say about C++ that hasn't already been said? Plenty, it turns out. i??From the Foreword by John VlissidesIn Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code.This book introduces the concept of generic componentsi??reusable design templates that produce boilerplate code for compiler consumptioni??all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding.The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include: Policy-based design for flexibility Partial template specialization Typelistsi??powerful type manipulation structures Patterns such as Visitor, Singleton, Command, and Factories Multi-method enginesFor each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.In addition, an accompanying Web site, http://www.awl.com/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project.Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser. 0201704315B11102003

[1]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[2]  C. Lambert Here's Why , 1978 .

[3]  M. Benedetti,et al.  What a Nuisance , 2011 .

[4]  T. G. Sanders Design of Networks for Monitoring Water Quality , 1983 .

[5]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[6]  Sharon Vaughn,et al.  Strategies for Teaching Students with Learning and Behavior Problems , 1988 .

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  E. Shikin,et al.  Handbook on Splines for the User , 1995 .

[9]  Stanley B. Lippman,et al.  Inside the C++ Object Model , 1996 .

[10]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[11]  Robert C. Martin,et al.  Acyclic visitor , 1997 .

[12]  Kevin S. Van Horn Compile-time assertions in C++ , 1997 .

[13]  A. Johnson The forest and the trees : sociology as life, practice, and promise , 1998 .

[14]  F. Apel,et al.  Nice to Have , 1998 .

[15]  A. Stevens UNDO/REDO REDUX , 1998 .

[16]  S. Ball,et al.  CHANNELS FOR INTER-APPLET COMMUNICATION , 1998 .

[17]  Jaakko Järvi,et al.  Tuples and multiple return values in C , 1999 .

[18]  B. Andresen,et al.  Infrared Technology and Applications XXVI , 2000 .

[19]  J. Wickins,et al.  Crustacean Farming: Ranching and Culture , 2002 .

[20]  Stephen J. Pitti The Devil in Silicon Valley: Northern California, Race, and Mexican Americans , 2004 .