a implementation of red-black tree in cpp