boost::unicode::adaptors::compose
// In header: <boost/unicode/compose.hpp> template<typename Range, typename... T> boost::converted_range< Range, boost::unicode::composer > compose(Range && range, const T & ...);
Lazily evalutes boost::unicode::composer by returning a range adapter that wraps the range range and converts it step-by-step as the range is advanced.
boost::unicode::composer
range