OpenVPN 3 Core Library
Loading...
Searching...
No Matches
unicode.hpp File Reference
#include <string>
#include <cstring>
#include <algorithm>
#include <memory>
#include <cctype>
#include <openvpn/common/size.hpp>
#include <openvpn/common/exception.hpp>
#include <openvpn/common/unicode-impl.hpp>
#include <openvpn/buffer/buffer.hpp>
Include dependency graph for unicode.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvpn::Unicode::UTF8Iterator
 
struct  openvpn::Unicode::UTF8Iterator::Char
 

Namespaces

namespace  openvpn
 
namespace  openvpn::Unicode
 

Enumerations

enum  { openvpn::Unicode::UTF8_NO_CTRL = (1 << 30) , openvpn::Unicode::UTF8_NO_SPACE = (1 << 31) }
 
enum  { openvpn::Unicode::UTF8_GOOD = 0 , openvpn::Unicode::UTF8_BAD , openvpn::Unicode::UTF8_RANGE }
 
enum  { openvpn::Unicode::UTF8_PASS_FMT = (1 << 31) , openvpn::Unicode::UTF8_FILTER = (1 << 30) }
 

Functions

 openvpn::Unicode::OPENVPN_SIMPLE_EXCEPTION (unicode_src_overflow)
 
 openvpn::Unicode::OPENVPN_SIMPLE_EXCEPTION (unicode_dest_overflow)
 
 openvpn::Unicode::OPENVPN_SIMPLE_EXCEPTION (unicode_malformed)
 
bool openvpn::Unicode::is_valid_utf8_uchar_buf (const unsigned char *source, size_t size, const size_t max_len_flags=0)
 
template<typename STRING >
bool openvpn::Unicode::is_valid_utf8 (const STRING &str, const size_t max_len_flags=0)
 
template<typename STRING >
int openvpn::Unicode::utf8_index (STRING &str, size_t &index)
 
template<typename STRING >
void openvpn::Unicode::utf8_truncate (STRING &str, size_t max_len)
 
template<typename STRING >
STRING openvpn::Unicode::utf8_printable (const STRING &str, size_t max_len_flags)
 
template<typename STRING >
size_t openvpn::Unicode::utf8_length (const STRING &str)
 
void openvpn::Unicode::conversion_result_throw (const ConversionResult res)
 
template<typename STRING >
BufferPtr openvpn::Unicode::string_to_utf16 (const STRING &str)