The type must be a model of . Assignable types must have copy constructors, operator= for assignment, and the swap() function defined. Require operator= Require swap() function