9 #ifndef BOOST_NOWIDE_CONVERT_HPP_INCLUDED 10 #define BOOST_NOWIDE_CONVERT_HPP_INCLUDED 12 #include <boost/nowide/detail/is_string_container.hpp> 13 #include <boost/nowide/utf/convert.hpp> 26 inline char*
narrow(
char* output,
size_t output_size,
const wchar_t* begin,
const wchar_t* end)
37 inline char*
narrow(
char* output,
size_t output_size,
const wchar_t* source)
49 inline wchar_t*
widen(
wchar_t* output,
size_t output_size,
const char* begin,
const char* end)
60 inline wchar_t*
widen(
wchar_t* output,
size_t output_size,
const char* source)
72 template<
typename T_Char,
typename = detail::requires_w
ide_
char<T_Char>>
73 inline std::string
narrow(
const T_Char* s,
size_t count)
75 return utf::convert_string<char>(s, s + count);
83 template<
typename T_Char,
typename = detail::requires_w
ide_
char<T_Char>>
84 inline std::string
narrow(
const T_Char* s)
94 template<
typename StringOrStringView,
typename = detail::requires_w
ide_
string_container<StringOrStringView>>
95 inline std::string
narrow(
const StringOrStringView& s)
97 return utf::convert_string<char>(s.data(), s.data() + s.size());
107 template<
typename T_Char,
typename = detail::requires_narrow_
char<T_Char>>
108 inline std::wstring
widen(
const T_Char* s,
size_t count)
110 return utf::convert_string<wchar_t>(s, s + count);
118 template<
typename T_Char,
typename = detail::requires_narrow_
char<T_Char>>
119 inline std::wstring
widen(
const T_Char* s)
129 template<
typename StringOrStringView,
typename = detail::requires_narrow_
string_container<StringOrStringView>>
130 inline std::wstring
widen(
const StringOrStringView& s)
132 return utf::convert_string<wchar_t>(s.data(), s.data() + s.size());
wchar_t * widen(wchar_t *output, size_t output_size, const char *begin, const char *end)
Definition: convert.hpp:49
char * narrow(char *output, size_t output_size, const wchar_t *begin, const wchar_t *end)
Definition: convert.hpp:26
size_t strlen(const Char *s)
Definition: convert.hpp:26
CharOut * convert_buffer(CharOut *buffer, size_t buffer_size, const CharIn *source_begin, const CharIn *source_end)
Definition: convert.hpp:43