• T is a model of Assignable.
• Sequence is a model of Sequence.
• Sequence is a model of Random Access Container.
• Sequence::value_type is the same type as T.
• Compare is a model of Binary Predicate.
• Compare induces a strict weak ordering, as defined in the LessThan Comparable requirements, on its argument type.
• T is convertible to Compare's argument type.