Implement a binary search tree as a C++ class template that conforms to the basic conventions of the C++ Standard Template Library.