40 throw std::runtime_error(
"Dict expects c10::List object.");
43 std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
45 const c10::List<c10::IValue>& l = v.toList();
46 for (
size_t i = 0; i < l.size(); i++)
48 if (!l.get(i).isString())
50 throw std::runtime_error(
"Dict expects list of strings.");
52 const std::string& str = l.get(i).toStringRef();
53 std::wstring wstr = converter.from_bytes(str);
55 from_wstring(wstr, k);
67 throw std::runtime_error(
"Dict expects c10::List object.");
70 std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
72 const c10::List<c10::IValue>& l = v.toList();
73 for (
size_t i = 0; i < l.size(); i++)
75 if (!l.get(i).isString())
77 throw std::runtime_error(
"Dict expects list of strings.");
79 const std::string& str = l.get(i).toStringRef();
80 std::wstring wstr = converter.from_bytes(str);
82 from_wstring(wstr, k);
141 std::wstring_convert<std::codecvt_utf8<char32_t>,
char32_t> converter;
145 throw std::runtime_error(
"Dict expects c10::List object.");
148 const c10::List<c10::IValue>& l = v.toList();
149 for (
size_t i = 0; i < l.size(); i++)
151 if (!l.get(i).isString())
153 throw std::runtime_error(
"Dict expects list of strings.");
155 const std::string& k = l.get(i).toStringRef();
157 std::u32string u32str = converter.from_bytes(k);
158 assert((0 == i && 0 == u32str.size()) || 1 == u32str.size());