CppCMS
Classes | Enumerations | Functions
Text Conversions

Classes

class  booster::locale::converter_base
 This class provides base flags for text manipulation. It is used as base for converter facet. More...
 
class  booster::locale::converter< CharType >
 
class  booster::locale::converter< char >
 
class  booster::locale::converter< wchar_t >
 

Enumerations

enum  booster::locale::norm_type {
  booster::locale::norm_nfd, booster::locale::norm_nfc, booster::locale::norm_nfkd, booster::locale::norm_nfkc,
  booster::locale::norm_default = norm_nfc
}
 

Functions

template<typename CharType >
std::basic_string< CharType > booster::locale::normalize (std::basic_string< CharType > const &str, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::normalize (CharType const *str, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::normalize (CharType const *begin, CharType const *end, norm_type n=norm_default, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_upper (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_upper (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_upper (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_lower (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_lower (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_lower (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_title (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_title (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::to_title (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::fold_case (std::basic_string< CharType > const &str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::fold_case (CharType const *str, std::locale const &loc=std::locale())
 
template<typename CharType >
std::basic_string< CharType > booster::locale::fold_case (CharType const *begin, CharType const *end, std::locale const &loc=std::locale())
 

Detailed Description

This module provides various function for string manipulation like Unicode normalization, case conversion etc.

Enumeration Type Documentation

The type that defined normalization form

Enumerator
norm_nfd 

Canonical decomposition.

norm_nfc 

Canonical decomposition followed by canonical composition.

norm_nfkd 

Compatibility decomposition.

norm_nfkc 

Compatibility decomposition followed by canonical composition.

norm_default 

Default normalization - canonical decomposition followed by canonical composition.

Function Documentation

template<typename CharType >
std::basic_string<CharType> booster::locale::fold_case ( std::basic_string< CharType > const &  str,
std::locale const &  loc = std::locale() 
)

Fold case of a string str according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::case_folding.

template<typename CharType >
std::basic_string<CharType> booster::locale::fold_case ( CharType const *  str,
std::locale const &  loc = std::locale() 
)

Fold case of a NUL terminated string str according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::case_folding.

template<typename CharType >
std::basic_string<CharType> booster::locale::fold_case ( CharType const *  begin,
CharType const *  end,
std::locale const &  loc = std::locale() 
)

Fold case of a string in range [begin,end) according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::case_folding.

template<typename CharType >
std::basic_string<CharType> booster::locale::normalize ( std::basic_string< CharType > const &  str,
norm_type  n = norm_default,
std::locale const &  loc = std::locale() 
)

Normalize Unicode string str according to normalization form n

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::normalization.

Referenced by booster::ptime::nanosleep(), and booster::ptime::ptime().

template<typename CharType >
std::basic_string<CharType> booster::locale::normalize ( CharType const *  str,
norm_type  n = norm_default,
std::locale const &  loc = std::locale() 
)

Normalize NUL terminated Unicode string str according to normalization form n

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::normalization.

template<typename CharType >
std::basic_string<CharType> booster::locale::normalize ( CharType const *  begin,
CharType const *  end,
norm_type  n = norm_default,
std::locale const &  loc = std::locale() 
)

Normalize Unicode string in range [begin,end) according to normalization form n

Note: This function receives only Unicode strings, i.e.: UTF-8, UTF-16 or UTF-32. It does not take in account the locale encoding, because Unicode decomposition and composition are meaningless outside of a Unicode character set.

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::normalization.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_lower ( std::basic_string< CharType > const &  str,
std::locale const &  loc = std::locale() 
)

Convert a string str to lower case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::lower_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_lower ( CharType const *  str,
std::locale const &  loc = std::locale() 
)

Convert a NUL terminated string str to lower case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::lower_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_lower ( CharType const *  begin,
CharType const *  end,
std::locale const &  loc = std::locale() 
)

Convert a string in range [begin,end) to lower case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::lower_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_title ( std::basic_string< CharType > const &  str,
std::locale const &  loc = std::locale() 
)

Convert a string str to title case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::title_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_title ( CharType const *  str,
std::locale const &  loc = std::locale() 
)

Convert a NUL terminated string str to title case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::title_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_title ( CharType const *  begin,
CharType const *  end,
std::locale const &  loc = std::locale() 
)

Convert a string in range [begin,end) to title case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::title_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_upper ( std::basic_string< CharType > const &  str,
std::locale const &  loc = std::locale() 
)

Convert a string str to upper case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::upper_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_upper ( CharType const *  str,
std::locale const &  loc = std::locale() 
)

Convert a NUL terminated string str to upper case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::upper_case.

template<typename CharType >
std::basic_string<CharType> booster::locale::to_upper ( CharType const *  begin,
CharType const *  end,
std::locale const &  loc = std::locale() 
)

Convert a string in range [begin,end) to upper case according to locale loc

Note
throws std::bad_cast if loc does not have converter facet installed

References booster::locale::converter_base::upper_case.