std::codecvt_base::result
 in( State& state, const Extern* first1, const Extern* last1,
     const Extern*& next1, Intern* first2, Intern* last2,
     Intern*& next2 ) const
 {
     return do_in(state, first1, last1, next1, first2, last2, next2);
 }
 virtual int
 do_length(  std::mbstate_t &state,
             char const *from,
             char const *from_end,
             size_t max) const
 {
     char const *from_next=from;
     std::vector<uchar> chrs(max+1);
     uchar *to=&chrs.front();
     uchar *to_end=to+max;
     uchar *to_next=to;
     do_in(state,from,from_end,from_next,to,to_end,to_next);
     return from_next-from;
 }