MCPcopy Create free account
hub / github.com/boostorg/filesystem / to_internal

Method to_internal

example/mbpath.cpp:53–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53mbpath_traits::internal_string_type
54mbpath_traits::to_internal(const external_string_type& src)
55{
56 std::size_t work_size(src.size() + 1);
57 boost::scoped_array< wchar_t > work(new wchar_t[work_size]);
58 std::mbstate_t state;
59 const external_string_type::value_type* from_next;
60 internal_string_type::value_type* to_next;
61 if (cvt->in(
62 state, src.c_str(), src.c_str() + src.size(), from_next, work.get(),
63 work.get() + work_size, to_next) != std::codecvt_base::ok)
64 boost::throw_exception< fs::basic_filesystem_error< mbpath > >(
65 fs::basic_filesystem_error< mbpath >(
66 "user::mbpath::to_internal conversion error",
67 boost::system::error_code(EINVAL, boost::system::errno_ecat)));
68 *to_next = L'\0';
69 return internal_string_type(work.get());
70}
71
72void mbpath_traits::imbue(const std::locale& new_loc)
73{

Callers

nothing calls this directly

Calls 3

getMethod · 0.80
sizeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected