template class redblacktree publicexplicit redblacktreeconst comparable neginf )redblacktreeconst redblacktree rhs )redblacktreeredblacktree &rhs )~redblacktree)const comparable findminconstconst comparable findmaxconstbool containsconst comparable constbool isemptyconstvoid printtreeconstvoid makeempty)void insertconst comparable )void removeconst comparable )enum redblack }redblacktree operator=const redblacktree rhs )redblacktree operator=redblacktree &rhs )privatestruct redblacknode comparable elementredblacknode *leftredblacknode *rightint colorredblacknodeconst comparable theelement comparable}redblacknode *lt nullptrredblacknode *rt nullptrint black elementtheelement }leftlt }rightrt }colorc redblacknodecomparable &theelementredblacknode *lt nullptrredblacknode *rt nullptrint black elementstd::movetheelement }leftlt }rightrt }colorc }redblacknode *header/the tree header (contains neginfredblacknode *nullnode/used in insert routine and its helpers (logically staticredblacknode *currentfigure class interface and constructor