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

Method to_external

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected