A more general look at C++ without using much STL