C++ Abstract Data Type (ADT) Library