Is it okay to use std::out_of_range from STL's <stdexcept> ??
The iterator operators in UCS4String are a little weird - too weird ??
