skip to main content
Skip header Section
STL tutorial and reference guide, second edition: C++ programming with the standard template libraryMarch 2001
Publisher:
  • Addison-Wesley Longman Publishing Co., Inc.
  • 75 Arlington Street, Suite 300 Boston, MA
  • United States
ISBN:978-0-201-37923-5
Published:27 March 2001
Pages:
509
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Marron M Toward Programming Languages for Reasoning: Humans, Symbolic Systems, and AI Agents Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, (136-152)
  2. ACM
    Zhang Y, Loring M, Salvaneschi G, Liskov B and Myers A (2015). Lightweight, flexible object-oriented generics, ACM SIGPLAN Notices, 50:6, (436-445), Online publication date: 7-Aug-2015.
  3. ACM
    Zandifar M, Abdul Jabbar M, Majidi A, Keyes D, Amato N and Rauchwerger L Composing Algorithmic Skeletons to Express High-Performance Scientific Applications Proceedings of the 29th ACM on International Conference on Supercomputing, (415-424)
  4. ACM
    Papadopoulos I, Thomas N, Fidel A, Amato N and Rauchwerger L STAPL-RTS Proceedings of the 29th ACM on International Conference on Supercomputing, (425-434)
  5. ACM
    Zhang Y, Loring M, Salvaneschi G, Liskov B and Myers A Lightweight, flexible object-oriented generics Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, (436-445)
  6. ACM
    Rubin E, Levy E, Barak A and Ben-Nun T (2014). MAPS, ACM Transactions on Architecture and Code Optimization, 11:4, (1-22), Online publication date: 9-Jan-2015.
  7. ACM
    Voufo L, Zalewski M and Lumsdaine A Scoping rules on a platter Proceedings of the 10th ACM SIGPLAN workshop on Generic programming, (59-70)
  8. Xie T, Seol S and Shephard M (2014). Generic components for petascale adaptive unstructured mesh-based simulations, Engineering with Computers, 30:1, (79-95), Online publication date: 1-Jan-2014.
  9. Huang W and Knottenbelt W Self-adaptive containers Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, (123-132)
  10. Kim M, Lee H, Wei Y and Lee M A study of new path planning algorithm using extended a* algorithm with survivability Proceedings of the 5th international conference on Intelligent Robotics and Applications - Volume Part III, (608-617)
  11. ACM
    Voufo L, Zalewski M and Lumsdaine A ConceptClang Proceedings of the seventh ACM SIGPLAN workshop on Generic programming, (71-82)
  12. ACM
    Tanase G, Buss A, Fidel A, Harshvardhan , Papadopoulos I, Pearce O, Smith T, Thomas N, Xu X, Mourad N, Vu J, Bianco M, Amato N and Rauchwerger L (2011). The STAPL parallel container framework, ACM SIGPLAN Notices, 46:8, (235-246), Online publication date: 7-Sep-2011.
  13. ACM
    Tanase G, Buss A, Fidel A, Harshvardhan , Papadopoulos I, Pearce O, Smith T, Thomas N, Xu X, Mourad N, Vu J, Bianco M, Amato N and Rauchwerger L The STAPL parallel container framework Proceedings of the 16th ACM symposium on Principles and practice of parallel programming, (235-246)
  14. Buss A, Fidel A, Harshvardhan , Smith T, Tanase G, Thomas N, Xu X, Bianco M, Amato N and Rauchwerger L The STAPL pView Proceedings of the 23rd international conference on Languages and compilers for parallel computing, (261-275)
  15. ACM
    Buss A, Harshvardhan , Papadopoulos I, Pearce O, Smith T, Tanase G, Thomas N, Xu X, Bianco M, Amato N and Rauchwerger L STAPL Proceedings of the 3rd Annual Haifa Experimental Systems Conference, (1-10)
  16. ACM
    Pike S, Heym W, Adcock B, Bronish D, Kirschenbaum J and Weide B Traditional assignment considered harmful Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, (909-916)
  17. ACM
    Buck D and Stucki D (2009). The hidden injuries of overloading 'ADT', ACM SIGCSE Bulletin, 41:1, (256-259), Online publication date: 4-Mar-2009.
  18. ACM
    Buck D and Stucki D The hidden injuries of overloading 'ADT' Proceedings of the 40th ACM technical symposium on Computer science education, (256-259)
  19. Chaoji V, Al Hasan M, Salem S and Zaki M (2008). An integrated, generic approach to pattern mining, Data Mining and Knowledge Discovery, 17:3, (457-495), Online publication date: 1-Dec-2008.
  20. ACM
    Nogueira P and Moreno-Navarro J Bialgebra views Proceedings of the ACM SIGPLAN workshop on Generic programming, (61-73)
  21. Traoré D, Roch J, Maillard N, Gautier T and Bernard J Deque-Free Work-Optimal Parallel STL Algorithms Proceedings of the 14th international Euro-Par conference on Parallel Processing, (887-897)
  22. ACM
    Oancea C and Mycroft A Software thread-level speculation Proceedings of the 1st international workshop on Multicore software engineering, (23-32)
  23. ACM
    Schreppers W and Cuyt A (2008). Algorithm 871, ACM Transactions on Mathematical Software (TOMS), 34:1, (1-20), Online publication date: 1-Jan-2008.
  24. Vargun A Termination checking without using an ordering relation Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, (130-135)
  25. ACM
    Tanase G, Bianco M, Amato N and Rauchwerger L The STAPL pArray Proceedings of the 2007 workshop on MEmory performance: DEaling with Applications, systems and architecture, (73-80)
  26. ACM
    Danjean V, Gillard R, Guelton S, Roch J and Roche T Adaptive loops with kaapi on multicore and grid Proceedings of the 2007 international workshop on Parallel symbolic computation, (33-42)
  27. ACM
    Gottschling P, Wise D and Adams M Representation-transparent matrix algorithms with scalable performance Proceedings of the 21st annual international conference on Supercomputing, (116-125)
  28. ACM
    Poucet C, Mamagkakis S, Atienza D and Catthoor F Systematic intermediate sequence removal for reduced memory accesses Proceedingsof the 10th international workshop on Software & compilers for embedded systems, (51-60)
  29. ACM
    Krone J, Ogden W and Sitaraman M Performance analysis based upon complete profiles Proceedings of the 2006 conference on Specification and verification of component-based systems, (3-10)
  30. ACM
    Simonyi C, Christerson M and Clifford S Intentional software Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (451-464)
  31. ACM
    Gregor D, Järvi J, Siek J, Stroustrup B, Dos Reis G and Lumsdaine A Concepts Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (291-310)
  32. ACM
    Simonyi C, Christerson M and Clifford S (2006). Intentional software, ACM SIGPLAN Notices, 41:10, (451-464), Online publication date: 16-Oct-2006.
  33. ACM
    Gregor D, Järvi J, Siek J, Stroustrup B, Dos Reis G and Lumsdaine A (2006). Concepts, ACM SIGPLAN Notices, 41:10, (291-310), Online publication date: 16-Oct-2006.
  34. ACM
    Ross K Towards an automatic complexity analysis for generic programs Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming, (87-95)
  35. ACM
    Watt S A technique for generic iteration and its optimization Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming, (76-86)
  36. Hinze R, Jeuring J and Löh A Comparing approaches to generic programming in Haskell Proceedings of the 2006 international conference on Datatype-generic programming, (72-149)
  37. ACM
    Sridhar N Dynamic instantiation-checking components Proceedings of the 2006 ACM symposium on Applied computing, (1442-1446)
  38. ACM
    Cunningham H, Liu Y and Tadepalli P Framework design using function generalization Proceedings of the 44th annual Southeast regional conference, (312-318)
  39. Gregor D and Schupp S (2006). STLlint: lifting static checking from languages to libraries, Software—Practice & Experience, 36:3, (225-254), Online publication date: 1-Mar-2006.
  40. ACM
    Ducasse S, Nierstrasz O, Schärli N, Wuyts R and Black A (2006). Traits, ACM Transactions on Programming Languages and Systems (TOPLAS), 28:2, (331-388), Online publication date: 1-Mar-2006.
  41. ACM
    Liu J, Kimball A and Myers A (2006). Interruptible iterators, ACM SIGPLAN Notices, 41:1, (283-294), Online publication date: 12-Jan-2006.
  42. ACM
    Liu J, Kimball A and Myers A Interruptible iterators Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (283-294)
  43. Winters T, Ausanka-Crues R, Kegel M, Shimshock E, Turner D and Erlinger M TinkerNet Proceedings of the 8th Australasian Conference on Computing Education - Volume 52, (253-259)
  44. ACM
    Kaae R, Nguyen T, Nørgaard D and Schmidt A Kalchas Proceedings of the 14th ACM international conference on Information and knowledge management, (541-548)
  45. Burgués X, Franch X and Ribó J A MOF-compliant approach to software quality modeling Proceedings of the 24th international conference on Conceptual Modeling, (176-191)
  46. ACM
    Oancea C and Watt S Parametric polymorphism for software component architectures Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (147-166)
  47. ACM
    Oancea C and Watt S (2019). Parametric polymorphism for software component architectures, ACM SIGPLAN Notices, 40:10, (147-166), Online publication date: 12-Oct-2005.
  48. Åhlander K Sorting out the relationships between pairs of iterators, values, and references Proceedings of the 4th international conference on Generative Programming and Component Engineering, (342-356)
  49. ACM
    Liew C (2019). Teaching software development skills early in the Curriculum through software engineering, ACM SIGCSE Bulletin, 37:3, (133-137), Online publication date: 1-Sep-2005.
  50. ACM
    Liew C Teaching software development skills early in the Curriculum through software engineering Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education, (133-137)
  51. ACM
    Thomas N, Tanase G, Tkachyshyn O, Perdue J, Amato N and Rauchwerger L A framework for adaptive algorithm selection in STAPL Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, (277-288)
  52. ACM
    Basit H, Rajapakse D and Jarzabek S Beyond templates Proceedings of the 27th international conference on Software engineering, (451-459)
  53. ACM
    Shiue L and Peters J A mesh refinement library based on generic design Proceedings of the 43rd annual Southeast regional conference - Volume 1, (104-108)
  54. Edwards S, Sitaraman M, Weide B and Hollingsworth J (2004). Contract-Checking Wrappers for C++ Classes, IEEE Transactions on Software Engineering, 30:11, (794-810), Online publication date: 1-Nov-2004.
  55. ACM
    Howe E, Thornton M and Weide B Components-first approaches to CS1/CS2 Proceedings of the 35th SIGCSE technical symposium on Computer science education, (291-295)
  56. ACM
    Marco J and Franch X (2019). A framework for designing and implementing the Ada standard container library, ACM SIGAda Ada Letters, XXIV:1, (49-61), Online publication date: 1-Mar-2004.
  57. ACM
    Howe E, Thornton M and Weide B (2004). Components-first approaches to CS1/CS2, ACM SIGCSE Bulletin, 36:1, (291-295), Online publication date: 1-Mar-2004.
  58. ACM
    Schupp S, Zalewski M and Ross K Rapid performance prediction for library components Proceedings of the 4th international workshop on Software and performance, (69-73)
  59. ACM
    Schupp S, Zalewski M and Ross K (2019). Rapid performance prediction for library components, ACM SIGSOFT Software Engineering Notes, 29:1, (69-73), Online publication date: 1-Jan-2004.
  60. ACM
    Marco J and Franch X A framework for designing and implementing the Ada standard container library Proceedings of the 2003 annual ACM SIGAda international conference on Ada: the engineering of correct and reliable software for real-time & distributed systems using ada and related technologies, (49-61)
  61. Derisavi S, Kemper P, Sanders W and Courtney T (2003). The Möbius state-level abstract functional interface, Performance Evaluation, 54:2, (105-128), Online publication date: 1-Oct-2003.
  62. Rajsbaum S and Viso E A case for OO -- Java -- in teaching algorithm analysis Proceedings of the 2nd international conference on Principles and practice of programming in Java, (79-83)
  63. Franch X and Marco J A quality model for the Ada standard container library Proceedings of the 8th Ada-Europe international conference on Reliable software technologies, (283-296)
  64. Heaney M Charles Proceedings of the 8th Ada-Europe international conference on Reliable software technologies, (271-282)
  65. ACM
    Tenenberg J A framework approach to teaching data structures Proceedings of the 34th SIGCSE technical symposium on Computer science education, (210-214)
  66. ACM
    Tenenberg J (2003). A framework approach to teaching data structures, ACM SIGCSE Bulletin, 35:1, (210-214), Online publication date: 11-Jan-2003.
  67. Dongarra J, Foster I, Fox G, Gropp W, Kennedy K, Torczon L and White A References Sourcebook of parallel computing, (729-789)
  68. Chen G and Szymanski B Reusing simulation components Proceedings of the 34th conference on Winter simulation: exploring new frontiers, (776-782)
  69. Döllner J and Hinrichs K (2002). A Generic Rendering System, IEEE Transactions on Visualization and Computer Graphics, 8:2, (99-118), Online publication date: 1-Apr-2002.
  70. An P, Jula A, Rus S, Saunders S, Smith T, Tanase G, Thomas N, Amato N and Rauchwerger L STAPL Proceedings of the 14th international conference on Languages and compilers for parallel computing, (193-208)
  71. Kurt Stirewalt R and Dillon L A component-based approach to building formal analysis tools Proceedings of the 23rd International Conference on Software Engineering, (167-176)
  72. ACM
    Sitaraman M, Kulczycki G, Krone J, Ogden W and Reddy A Performance specification of software components Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, (3-10)
  73. Aronszajn M, Sitaranman M, Atkinson S and Kulczycki G A system for predictable component-based software construction High integrity software, (63-87)
  74. ACM
    Sitaraman M, Kulczycki G, Krone J, Ogden W and Reddy A (2019). Performance specification of software components, ACM SIGSOFT Software Engineering Notes, 26:3, (3-10), Online publication date: 1-May-2001.
  75. ACM
    Gärtner B and Schönherr S An efficient, exact, and generic quadratic programming solver for geometric optimization Proceedings of the sixteenth annual symposium on Computational geometry, (110-118)
  76. ACM
    Sánchez A and Dei-Wei J Towards a graphical notation to express the C++ template instantiation process (poster session) Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum), (117-118)
  77. ACM
    Czarnecki K and Eisenecker U (2019). Components and generative programming (invited paper), ACM SIGSOFT Software Engineering Notes, 24:6, (2-19), Online publication date: 1-Nov-1999.
  78. Czarnecki K and Eisenecker U Components and generative programming (invited paper) Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, (2-19)
  79. Messina E, Horst J, Kramer T, Huang H and Michaloski J (1999). Component Specifications for Robotics Integration, Autonomous Robots, 6:3, (247-264), Online publication date: 1-Jun-1999.
  80. ACM
    Collins W and Sun Y Web labs for the Standard Template Library and the Java generic library in a CS2 course The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, (174-178)
  81. ACM
    Collins W and Sun Y (1999). Web labs for the Standard Template Library and the Java generic library in a CS2 course, ACM SIGCSE Bulletin, 31:1, (174-178), Online publication date: 1-Mar-1999.
  82. ACM
    Kettner L Designing a data structure for polyhedral surfaces Proceedings of the fourteenth annual symposium on Computational geometry, (146-154)
  83. Kienhuis B, Deprettere E, Vissers K and van der Wolf P The construction of a retargetable simulator for an architecture template Proceedings of the 6th international workshop on Hardware/software codesign, (125-129)
  84. ACM
    Rasala R (1997). Design issues in computer science education, ACM SIGCSE Bulletin, 29:4, (4-7), Online publication date: 1-Dec-1997.
  85. Stiber M, Jacobs G and Swanberg D LOGOS Proceedings of the Ninth International Conference on Scientific and Statistical Database Management, (212-222)
  86. Tsuchiya T, Terada H, Kusumoto S, Kikuno T and Kim E Derivation of Safety Requirements for Safety Analysis of Object-Oriented Design Documents Proceedings of the 21st International Computer Software and Applications Conference, (232-239)
  87. ACM
    Johnson E and Gannon D HPC++ Proceedings of the 11th international conference on Supercomputing, (124-131)
  88. ACM
    Rasala R (1997). A model C++ tree iterator class for binary search trees, ACM SIGCSE Bulletin, 29:1, (72-76), Online publication date: 1-Mar-1997.
  89. ACM
    Rasala R (1997). Function objects, function templates, and passage by behavior in C++, ACM SIGCSE Bulletin, 29:1, (35-38), Online publication date: 1-Mar-1997.
  90. ACM
    Rasala R A model C++ tree iterator class for binary search trees Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, (72-76)
  91. ACM
    Rasala R Function objects, function templates, and passage by behavior in C++ Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, (35-38)
  92. ACM
    Kesselman C (2019). High performance parallel and distributed computation in compositional CC++, ACM SIGAPP Applied Computing Review, 4:1, (24-26), Online publication date: 1-Apr-1996.
  93. ACM
    Austern M, Towle R and Stepanov A (1996). Range partition adaptors, ACM SIGAPP Applied Computing Review, 4:1, (5-6), Online publication date: 1-Apr-1996.
Contributors
  • Rensselaer Polytechnic Institute

Recommendations

Reviews

Martin D. Schweitzer

There have been three key events in my programming career—events that changed the way that I programmed and thought about programming. The first was when I started using the C programming language, the second when I started using C++, and the third was when I started using the STL (Standard Template Library). The STL is a lot more than a library of useful containers and routines: it represents a way of thinking about programming and breaking down problems in order to code solutions. When I first downloaded the STL (I think it was from the HP site in around 1995), the only documentation seemed to be the 50 or so pages of Postscript. This consisted mainly of a dense mathematical semantic notation explaining the library. One of the first books to become available was the STL tutorial and reference guide by Musser and Saini. Reading this book gave me a far better appreciation of how the STL worked and why it was useful. This book has now been released in its second edition, and there is now an extra author (Derge), and more than 100 extra pages. The book appears to have been typeset in &tex; (or &latex;) and the authors have used a literate programming tool for their examples. The book is divided into three sections. Section 1, which covers about two-fifths of the book, is a tutorial introduction to STL. This section will be useful for any C++ programmer that has a reasonable knowledge of C++ but who has not ever used the STL. The examples are complete enough to explain the material, yet not so long that they obscure the points that they are trying to make. One of the good things about the examples is that each example is presented as a complete program so that the reader can either download the code or copy it from the book and get it to compile and run. The second section, which is called “Putting It Together”, contains some complete programs which give some good examples of using the STL. This section covers about one-fifth of the book. The final section is the reference, which covers the last two-fifths of the book. This section is quite well organized and would be an adequate reference for someone using the STL. The book covers each of its topics fairly thoroughly and with authority. I would have liked to have seen more work being put into the appendix. When I tried to look up some keywords such as bind2nd and reference semantics (I wanted to see if they discuss reference semantics versus value semantics), I could not find direct references in the index (I found bind2nd by going to one of the sections on Binders). I would also have liked to see more on ways of extending the STL, and maybe a section on some existing extensions, such as hash_maps. I think that anyone buying this book will find it useful, but probably not invaluable. There are many other books out there now that cover a lot of the same material. This book covers the STL, the whole STL, and nothing but the STL. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.