cprover
unicode.h File Reference
#include <algorithm>
#include <string>
#include <vector>
Include dependency graph for unicode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

std::string narrow (const wchar_t *s)
 
std::wstring widen (const char *s)
 
std::string narrow (const std::wstring &s)
 
std::wstring widen (const std::string &s)
 
std::string utf32_to_utf8 (const std::basic_string< unsigned int > &s)
 
std::wstring utf8_to_utf16_big_endian (const std::string &)
 
std::wstring utf8_to_utf16_little_endian (const std::string &)
 
std::string utf16_little_endian_to_java (const wchar_t ch)
 
std::string utf16_little_endian_to_java (const std::wstring &in)
 
std::vector< std::string > narrow_argv (int argc, const wchar_t **argv_wide)
 
template<typename It >
std::vector< const char * > to_c_str_array (It b, It e)
 

Function Documentation

◆ narrow() [1/2]

std::string narrow ( const wchar_t *  s)

Definition at line 31 of file unicode.cpp.

References r.

Referenced by main(), narrow_argv(), ms_cl_cmdlinet::parse_env(), and ms_cl_cmdlinet::process_response_file().

◆ narrow() [2/2]

std::string narrow ( const std::wstring &  s)

Definition at line 81 of file unicode.cpp.

References r.

◆ narrow_argv()

std::vector<std::string> narrow_argv ( int  argc,
const wchar_t **  argv_wide 
)

Definition at line 155 of file unicode.cpp.

References narrow().

Referenced by main().

◆ to_c_str_array()

template<typename It >
std::vector<const char *> to_c_str_array ( It  b,
It  e 
)

Definition at line 35 of file unicode.h.

Referenced by main().

◆ utf16_little_endian_to_java() [1/2]

std::string utf16_little_endian_to_java ( const wchar_t  ch)
Parameters
chUTF-16LE character
Returns
String in US-ASCII format, with \uxxxx escapes for other characters

Definition at line 330 of file unicode.cpp.

References loc, and utf16_little_endian_to_java().

◆ utf16_little_endian_to_java() [2/2]

std::string utf16_little_endian_to_java ( const std::wstring &  in)
Parameters
inString in UTF-16LE format
Returns
String in US-ASCII format, with \uxxxx escapes for other characters

Definition at line 340 of file unicode.cpp.

References loc, and utf16_little_endian_to_java().

◆ utf32_to_utf8()

std::string utf32_to_utf8 ( const std::basic_string< unsigned int > &  s)
Parameters
utf32:encodedwide string
Returns
utf8-encoded string with the same unicode characters as the input.

Definition at line 143 of file unicode.cpp.

References utf8_append_code().

Referenced by append_universal_char(), convert_one_string_literal(), and make_identifier().

◆ utf8_to_utf16_big_endian()

std::wstring utf8_to_utf16_big_endian ( const std::string &  in)
parameters: String in UTF-8 format
Returns
String in UTF-16BE format

Definition at line 273 of file unicode.cpp.

References is_little_endian_arch(), and utf8_to_utf16().

◆ utf8_to_utf16_little_endian()

std::wstring utf8_to_utf16_little_endian ( const std::string &  in)
parameters: String in UTF-8 format
Returns
String in UTF-16LE format

Definition at line 281 of file unicode.cpp.

References is_little_endian_arch(), and utf8_to_utf16().

Referenced by string_constraint_generatort::add_axioms_for_constant(), delete_directory(), and get_or_create_string_literal_symbol().

◆ widen() [1/2]

◆ widen() [2/2]

std::wstring widen ( const std::string &  s)

Definition at line 98 of file unicode.cpp.

References r.