Austern's book introduces you to the generic programming paradigm and to the most important instance of that paradigm--the C++ Standard Template Library (STL). This book reveals that the STL is more than a set of convenient container It is also an extensible framework for generic and interoperable components. Austern explains the central ideas underlying generic programming--concepts, modeling, and refinement--and shows how these ideas lead to the fundamental concepts of the iterators, containers, and function objects.
This was good when it came out, and remains of value, but the field has advanced so far beyond this (Austern wrote this prior to the mainstream acceptance of template metaprogramming) that you're better off with Vandevoorde or Alexandrescu these days.