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

Method to_external

example/mbpath.cpp:34–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32namespace user {
33
34mbpath_traits::external_string_type
35mbpath_traits::to_external(const mbpath& ph, const internal_string_type& src)
36{
37 std::size_t work_size(cvt->max_length() * (src.size() + 1));
38 boost::scoped_array< char > work(new char[work_size]);
39 std::mbstate_t state;
40 const internal_string_type::value_type* from_next;
41 external_string_type::value_type* to_next;
42 if (cvt->out(
43 state, src.c_str(), src.c_str() + src.size(), from_next, work.get(),
44 work.get() + work_size, to_next) != std::codecvt_base::ok)
45 boost::throw_exception< fs::basic_filesystem_error< mbpath > >(
46 fs::basic_filesystem_error< mbpath >(
47 "user::mbpath::to_external conversion error",
48 ph, boost::system::error_code(EINVAL, boost::system::errno_ecat)));
49 *to_next = '\0';
50 return external_string_type(work.get());
51}
52
53mbpath_traits::internal_string_type
54mbpath_traits::to_internal(const external_string_type& src)

Callers

nothing calls this directly

Calls 3

getMethod · 0.80
sizeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected