123 if(start == 0 && end >= 0x10FFFF)
128 std::stringstream ss;
129 ss << std::hex << start;
140 std::stringstream filled;
141 filled << std::hex << std::setw(6) << std::setfill(
'0') << start;
142 std::string
const start_str(filled.str());
144 filled << std::setw(6) << end;
145 std::string
const end_str(filled.str());
146 if(start_str.length() != 6 || end_str.length() != 6)
153 if(start_str[p - 1] !=
'0' || end_str[p - 1] !=
'f')
158 std::string result(start_str.substr(0, p));
159 if(result == end_str.substr(0, p))
162 result += std::string(
"??????", 6 - p);
164 while(result.front() ==
'0')
166 result.erase(result.begin());