Item 46. Class Template Explicit Specialization
Class template explicit specialization is straightforward. First, you need a general case to specialize. This general case is called the “primary” template.
template <typename T> class Heap;
The primary template has only to be declared to be specialized (as
Heap is above), but it is usually also defined (as
Heap is below):
Our primary template implements a heap data structure by putting an easy-to-use interface around the somewhat challenging standard library heap algorithms. A heap is a linearized tree structure that is optimized for insertion and retrieval. Pushing a value into a heap inserts ...