CACAO
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | Private Attributes | Friends
Utf8String Class Reference

Data Structures

struct  Data
 
struct  utf16_iterator
 

Public Types

typedef const char * byte_iterator
 

Public Member Functions

 Utf8String ()
 
 Utf8String (utf *u)
 
byte_iterator begin () const
 
byte_iterator end () const
 
utf16_iterator utf16_begin () const
 
utf16_iterator utf16_end () const
 
size_t hash () const
 
bool equals (const uint16_t *cs, size_t sz)
 check if utf-8 strings contains the same utf-16 codepoints as a utf-16 string More...
 
bool equals (const char *cs)
 check if utf-8 strings contains same bytes as C string More...
 
char front () const
 
char back () const
 
char operator[] (size_t idx) const
 
size_t size () const
 
size_t utf16_size () const
 
 operator void * () const
 
utf * c_ptr () const
 
Utf8String substring (size_t from) const
 
Utf8String substring (size_t from, size_t to) const
 
bool is_valid_name () const
 

Static Public Member Functions

static void initialize ()
 
static bool is_initialized ()
 
static Utf8String from_utf8 (const char *, size_t)
 
static Utf8String from_utf8_dot_to_slash (const char *, size_t)
 
static Utf8String from_utf8_slash_to_dot (const char *, size_t)
 
static Utf8String from_utf8 (const char *cs)
 
static Utf8String from_utf8_dot_to_slash (const char *cs)
 
static Utf8String from_utf8_slash_to_dot (Utf8String)
 
static Utf8String from_utf16 (const uint16_t *, size_t)
 
static Utf8String from_utf16_dot_to_slash (const uint16_t *, size_t)
 

Static Public Attributes

static const size_t sizeof_utf = sizeof(Utf8String::Data)
 

Static Private Member Functions

static Dataalloc (size_t hash, size_t utf8_size, size_t utf16_size)
 allocate a Utf8String with given hash and size You still have to fill in the strings text! More...
 
static void free (Utf8String u)
 

Private Attributes

Data_data
 

Friends

template<typename Iterator >
struct FromUtf8Builder
 
template<typename Iterator >
struct FromUtf16Builder
 

Detailed Description

Definition at line 59 of file utf8.hpp.

Member Typedef Documentation

typedef const char* Utf8String::byte_iterator

Definition at line 104 of file utf8.hpp.

Constructor & Destructor Documentation

Utf8String::Utf8String ( )
inline

Definition at line 73 of file utf8.hpp.

Utf8String::Utf8String ( utf *  u)
inline

Definition at line 99 of file utf8.hpp.

Member Function Documentation

Utf8String::Data * Utf8String::alloc ( size_t  hash,
size_t  utf8_size,
size_t  utf16_size 
)
inlinestaticprivate

allocate a Utf8String with given hash and size You still have to fill in the strings text!

Definition at line 144 of file utf8.cpp.

char Utf8String::back ( ) const
inline

Definition at line 156 of file utf8.hpp.

byte_iterator Utf8String::begin ( ) const
inline

Definition at line 106 of file utf8.hpp.

utf* Utf8String::c_ptr ( ) const
inline

Definition at line 170 of file utf8.hpp.

byte_iterator Utf8String::end ( ) const
inline

Definition at line 107 of file utf8.hpp.

bool Utf8String::equals ( const uint16_t *  cs,
size_t  sz 
)

check if utf-8 strings contains the same utf-16 codepoints as a utf-16 string

bool Utf8String::equals ( const char *  cs)
inline

check if utf-8 strings contains same bytes as C string

Definition at line 146 of file utf8.hpp.

static void Utf8String::free ( Utf8String  u)
staticprivate
Utf8String Utf8String::from_utf16 ( const uint16_t *  cs,
size_t  sz 
)
static

Definition at line 351 of file utf8.cpp.

Utf8String Utf8String::from_utf16_dot_to_slash ( const uint16_t *  cs,
size_t  sz 
)
static

Definition at line 355 of file utf8.cpp.

Utf8String Utf8String::from_utf8 ( const char *  cs,
size_t  sz 
)
static

Definition at line 335 of file utf8.cpp.

static Utf8String Utf8String::from_utf8 ( const char *  cs)
inlinestatic

Definition at line 82 of file utf8.hpp.

Utf8String Utf8String::from_utf8_dot_to_slash ( const char *  cs,
size_t  sz 
)
static

Definition at line 339 of file utf8.cpp.

static Utf8String Utf8String::from_utf8_dot_to_slash ( const char *  cs)
inlinestatic

Definition at line 85 of file utf8.hpp.

Utf8String Utf8String::from_utf8_slash_to_dot ( const char *  cs,
size_t  sz 
)
static

Definition at line 343 of file utf8.cpp.

Utf8String Utf8String::from_utf8_slash_to_dot ( Utf8String  u)
static

Definition at line 347 of file utf8.cpp.

char Utf8String::front ( ) const
inline

Definition at line 153 of file utf8.hpp.

size_t Utf8String::hash ( ) const
inline

Definition at line 137 of file utf8.hpp.

void Utf8String::initialize ( void  )
static

Definition at line 110 of file utf8.cpp.

bool Utf8String::is_initialized ( void  )
static

Definition at line 133 of file utf8.cpp.

bool Utf8String::is_valid_name ( ) const

Definition at line 393 of file utf8.cpp.

Utf8String::operator void * ( ) const
inline

Definition at line 168 of file utf8.hpp.

char Utf8String::operator[] ( size_t  idx) const
inline

Definition at line 158 of file utf8.hpp.

size_t Utf8String::size ( ) const
inline

Definition at line 161 of file utf8.hpp.

Utf8String Utf8String::substring ( size_t  from) const

Definition at line 378 of file utf8.cpp.

Utf8String Utf8String::substring ( size_t  from,
size_t  to 
) const

Definition at line 383 of file utf8.cpp.

utf16_iterator Utf8String::utf16_begin ( ) const
inline

Definition at line 132 of file utf8.hpp.

utf16_iterator Utf8String::utf16_end ( ) const
inline

Definition at line 133 of file utf8.hpp.

size_t Utf8String::utf16_size ( ) const
inline

Definition at line 164 of file utf8.hpp.

Friends And Related Function Documentation

template<typename Iterator >
friend struct FromUtf16Builder
friend

Definition at line 206 of file utf8.hpp.

template<typename Iterator >
friend struct FromUtf8Builder
friend

Definition at line 203 of file utf8.hpp.

Field Documentation

Data* Utf8String::_data
private

Definition at line 200 of file utf8.hpp.

const size_t Utf8String::sizeof_utf = sizeof(Utf8String::Data)
static

Definition at line 181 of file utf8.hpp.


The documentation for this class was generated from the following files: