5th project from subject languages and tools for programming 1
Template class for storing functions between generic types A and V allowing for fast iteration over local maximas. The only thing known about A and V was that their destructors would not throw and that operator< was provided for both of them (which, in turn, could throw). Main theme/difficulty: providing strong exception safety and copy-on-write semantics.