virtual string_type do_transform(const E *first, const E *last) const;The protected virtual member function returns an object of class string_type whose controlled sequence is a copy of 
the sequence [first, last). If a class derived from collate<E> overrides do_compare, it should also override 
do_transform to match. Put simply, two transformed strings should yield the same result, when passed to 
collate::compare, that you would get from passing the untransformed strings to compare in the derived class.