Custom implementations of basic data structures in C++