Extended STL, Volume 1: Collections and Iterators
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