141a142 > template 148,149c149,150 < u = (std::min)(u, static_cast((std::numeric_limits::max)())); < c.string += Ch(u); --- > u = (std::min)(u, static_cast((std::numeric_limits::max)())); > c.string += CH_T(u); 152a154,165 > template<> > struct a_unicode > { > context &c; > a_unicode(context &c): c(c) { } > void operator()(unsigned long u) const > { > u = (std::min)(u, static_cast((std::numeric_limits::max)())); > c.string += char(u); > } > }; > 250c263 < | 'u' >> uint_parser()[typename Context::a_unicode(self.c)] --- > | 'u' >> uint_parser()[typename Context::a_unicode(self.c)]