Data structure implementations in C++