or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
30 used & new from $37.31

Have one to sell? Sell yours here
 
   
Extended STL, Volume 1: Collections and Iterators
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Extended STL, Volume 1: Collections and Iterators (Paperback)

~ (Author)
4.0 out of 5 stars  See all reviews (2 customer reviews)

List Price: $54.99
Price: $48.69 & this item ships for FREE with Super Saver Shipping. Details
You Save: $6.30 (11%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 5 left in stock--order soon (more on the way).

Want it delivered Friday, November 13? Choose One-Day Shipping at checkout. Details
17 new from $39.99 13 used from $37.31

Frequently Bought Together

Customers buy this book with The C++ Standard Library Extensions: A Tutorial and Reference by Pete Becker

Extended STL, Volume 1: Collections and Iterators + The C++ Standard Library Extensions: A Tutorial and Reference

Customers Who Bought This Item Also Bought

Imperfect C++: Practical Solutions for Real-Life Programming

Imperfect C++: Practical Solutions for Real-Life Programming

by Matthew Wilson
Elements of Programming

Elements of Programming

by Alexander A. Stepanov
4.9 out of 5 stars (7)  $31.99
Programming: Principles and Practice Using C++

Programming: Principles and Practice Using C++

by Bjarne Stroustrup
4.1 out of 5 stars (23)  $56.94
Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism

Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism

by James Reinders
3.7 out of 5 stars (3)  $34.07
C++ Common Knowledge: Essential Intermediate Programming

C++ Common Knowledge: Essential Intermediate Programming

by Stephen C. Dewhurst
4.6 out of 5 stars (17)  $28.89
Explore similar items

Editorial Reviews

Product Description

“Wilson’s menu of STL treatments will no doubt be good eating for generic programming adherents, ardent C programmers just now taking on STL and C++, Java programmers taking a second look at C++, and authors of libraries targeting multiple platforms and languages. Bon appetit!”
--George Frazier, Cadence Design Systems, Inc.

“A thorough treatment of the details and caveats of STL extension.”
--Pablo Aguilar, C++ Software Engineer

“This book is not just about extending STL, it’s also about extending my thinking in C++.”
--Serge Krynine, C++ Software Engineer, RailCorp Australia

“You might not agree 100% with everything Wilson has to say, but as a whole his book is the most valuable, in-depth study of practical STL-like programming.”
--Thorsten Ottosen, M.C.S., Boost Contributor

“Wilson is a master lion tamer, persuading multifarious third-party library beasts to jump through STL hoops. He carefully guides the reader through the design considerations, pointing out the pitfalls and making sure you don't get your head bitten off.”
--Adi Shavit, Chief Software Architect, EyeTech Co. Ltd

“Wilson’s book provides more than enough information to change the angst/uncertainty level of extending STL from ‘daunting’ to ‘doable.’ ”
--Garth Lancaster, EDI/Automation Manager, Business Systems Group, MBF Australia

“This book will open up your eyes and uncover just how powerful STL’s abstractions really are.”
--Nevin “:-)” Liber, 19-year veteran of C++

“In the canon of C++ there are very few books that extend the craft. Wilson’s work consistently pushes the limits, showing what can and cannot be done, and the tradeoffs involved.”
--John O’Halloran, Head of Software Development, Mediaproxy

“Essential concepts and practices to take the working programmer beyond the standard library.”
--Greg Peet

Extended STL is not just a book about adapting the STL to fit in with your everyday work, it’s also an odyssey through software design and concepts, C++ power techniques, and the perils of real-world software development--in other words, it’s a Matthew Wilson book. If you're serious about C++, I think you should read it.”
--Björn Karlsson, Principle Architect, ReadSoft; author of Beyond the C++ Standard Library: An Introduction to Boost

In Extended STL, renowned C++ expert Matthew Wilson shows how to go beyond the C++ standard and extend the Standard Template Library into the wider C++ world of APIs and non-standard collections, to write software that is more efficient, expressive, flexible, and robust.

In Volume 1, Wilson’s innovative techniques help you master STL extension in two important areas: adapting technology-specific libraries and operating system APIs to STL-compliant collections, and defining sophisticated iterator adaptors with which the latent efficiency and expressive power of STL can be realized. Using real-world examples, Wilson illustrates several powerful concepts and techniques that enable you to extend STL in directions never envisioned by its creators, including collections, element reference categories, external iterator invalidation and inferred interface adaptation.

Extended STL, Volume 1, will be an invaluable resource for every C++ programmer who is at least minimally familiar with the STL.

  • Learn specific principles and techniques for STL extension
  • Learn more about the STL by looking inside the implementation of STL extensions
  • Learn general techniques for implementing wrappers over operating system APIs and technology-specific libraries
  • Learn how to write iterator adaptors and understand the reasons behind the restrictions on their implementations and use

Specific coverage includes

  • Making the most of collections, and understanding how they differ from containers
  • Mastering element reference categories: defining them, detecting them, and using them to design STL extension collections and iterators
  • Working with external iterator invalidation, and understanding its surprising impact on the design of STL-compatible collections
  • Adapting real-world APIs ranging from file
  • system enumeration to scatter/gather I/O
  • Using standalone iterator types, from simple std::ostream_iterator extensions to sophisticated adaptors that filter and transform types or values

The accompanying CD-ROM contains an extensive collection of open-source libraries created by the author. Also included: several test projects, and three bonus chapters.



About the Author

Matthew Wilson is a software development consultant for Synesis Software and creator of the STLSoft and Pantheios libraries. He is author of Imperfect C++ (Addison-Wesley), a former columnist for C/C++ Users Journal, and a contributor to several leading publications. He has more than fifteen years' C++ experience. Based in Australia, he holds a Ph.D. from Manchester University (UK).


Product Details

  • Paperback: 624 pages
  • Publisher: Addison-Wesley Professional (June 29, 2007)
  • Language: English
  • ISBN-10: 0321305507
  • ISBN-13: 978-0321305503
  • Product Dimensions: 9.1 x 7.2 x 1.1 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon.com Sales Rank: #907,779 in Books (See Bestsellers in Books)

More About the Author

Matthew Wilson
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Matthew Wilson Page

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

2 Reviews
5 star:    (0)
4 star:
 (2)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (2 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
7 of 8 people found the following review helpful:
4.0 out of 5 stars Pushing the STL envelope to the limit (and maybe beyond), December 18, 2007
By Giyora Sayfan "Gigi" (Davis, CA United States) - See all my reviews
(REAL NAME)   
Extended STL is a remarkable book. Matthew Wilson explores new C++ horizons. He invents new concepts and idioms and demonstrates them in real code, which is used in production (via the various STLSoft libraries). I've never read a book before that covers the spectrum from very high-level conceptual innovations to the most low-level implementation details.

The book is perfect for library writers that wish to create portable C++ libraries that work across compilers and platforms. It is not very useful for application developers (even STLSoft users).

The flow is very good and the important points are explained thoroughly. I also liked the concise tips that are sprinkled throughout the book and highlight key points like:

---------------
Tip: Check class invariants at the start (and end) of all public methods, including non-mutating ones, to maximize early detection of overwrites in errant code elsewhere in the process
---------------

I read the book cover to cover, but in small portions. Towards the middle, I started to skip over the implementation details, because it was too much for me.

Wilson's approach is to provide the ultimate performance and expressiveness (along with other important properties like modularity, robustness, flexibility and discoverability). This sometimes leads to libraries that platform-specific. Wilson justifies it by saying that the platforms differences are too great to encapsulate without seriously reducing one or more of the other desirable properties. So, there is a UNIXSTL and WINSTL with different interfaces that you can't use directly if you write code that needs to run on multiple platforms. There is also a PLATFORMSTL that has cross-platform components, but I'm not sure what are the relations between them. There are also several high-level libraries that are fully platform-independent and are built on top of the STLSoft libraries.

Note, that I have never used the STLSoft libraries, so I may be gravely wrong and in this case I apologize.

What I took from this book is that C++ is even richer and more complex than I have imagined. I dabbled in templates and I'm fairly educated about meta-programming, but I don't think I'll write any STL extensions myself anytime soon. I will definitely consider the STLSoft libraries (and the high-level libraries) for my next cross-platform C++ project. I'm also looking forward to the next book to see what Wilson is going to unearth.

Gigi
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
0 of 1 people found the following review helpful:
4.0 out of 5 stars Well written, July 6, 2008
By Cumhur Guzel (Sydney, NSW, Australia) - See all my reviews
This book explains container and iterator concepts very well and applies STL way of programming to different set of problems. It does provide somehow different point of angle to STL programming however in many parts reiterates the things said in the past. Anyway I recommend to the readers who has an interest on advanced STL programming.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Textbooks for Kindle DX? 61 4 days ago
textbook scam 66 9 days ago
Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...


Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.