92 virtual const char*
what()
const throw() {
return (
const char*)message.
get();}
94 message(g_strdup_printf(
"Utf8::ConversionError: %s", msg)) {}
96 message(g_strdup_printf(
"Utf8::ConversionError: %s", error->message)) {}
306 return g_utf8_validate(text.data(), text.size(), 0);
389 class ReverseIterator;
400 std::string::const_iterator pos;
501 std::string::const_iterator
base()
const {
return pos;}
516 Iterator(
const std::string::const_iterator& iter): pos(iter) {}
531 Iterator(
const std::string::iterator& iter): pos(iter) {}
564 const std::string::value_type* tmp = &(*pos);
568 pos += g_utf8_next_char(tmp) - tmp;
581 const std::string::value_type* tmp = &(*(pos-1));
583 pos -= tmp - g_utf8_prev_char(tmp);
599 return (iter1.
base() == iter2.
base());
608 return (iter1.
base() != iter2.
base());
617 return (iter1.
base() < iter2.
base());
626 return (iter1.
base() <= iter2.
base());
635 return (iter1.
base() > iter2.
base());
644 return (iter1.
base() >= iter2.
base());
706 std::string::const_iterator pos;
708 mutable std::string::const_iterator cache;
821 std::string::const_iterator
base()
const {
return pos;}
886 if (pos > cache) pos = cache;
891 const std::string::value_type* tmp = &(*(pos-1));
893 pos -= tmp - g_utf8_prev_char(tmp);
906 const std::string::value_type* tmp = &(*pos);
910 pos += g_utf8_next_char(tmp) - tmp;
924 return g_utf8_get_char(&(*(tmp.base())));
933 return (iter1.
base() == iter2.
base());
942 return (iter1.
base() != iter2.
base());
954 return (iter1.
base() > iter2.
base());
966 return (iter1.
base() >= iter2.
base());
978 return (iter1.
base() < iter2.
base());
990 return (iter1.
base() <= iter2.
base());
bool operator>=(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:643
std::string filename_from_utf8(const std::string &input)
ReverseIterator(const std::string::const_reverse_iterator &iter)
Definition: convert.h:836
std::bidirectional_iterator_tag iterator_category
Definition: convert.h:397
bool validate(const std::string &text)
Definition: convert.h:305
void pointer
Definition: convert.h:701
ConversionError(GError *error)
Definition: convert.h:95
Iterator(const std::string::iterator &iter)
Definition: convert.h:531
Iterator & operator=(const std::string::iterator &iter)
Definition: convert.h:461
T get() const noexcept
Definition: shared_handle.h:762
bool operator<=(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:625
bool operator<(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:616
ReverseIterator & operator=(const Iterator &iter)
Definition: convert.h:800
bool operator>(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:634
ReverseIterator & operator=(const ReverseIterator &iter)
Definition: convert.h:787
ConversionError(const char *msg)
Definition: convert.h:93
Iterator & operator--()
Definition: convert.h:578
std::string uniwide_to_utf8(const std::wstring &input)
std::string::difference_type difference_type
Definition: convert.h:396
ReverseIterator & operator=(const std::string::const_reverse_iterator &iter)
Definition: convert.h:765
std::string::difference_type difference_type
Definition: convert.h:702
std::u16string utf16_from_utf8(const std::string &input)
Iterator::value_type operator*() const
Definition: convert.h:491
Iterator(const std::string::const_iterator &iter)
Definition: convert.h:516
gunichar value_type
Definition: convert.h:699
Iterator(const Iterator &iter)
Definition: convert.h:540
gunichar reference
Definition: convert.h:700
~ConversionError()
Definition: convert.h:97
ReverseIterator(const std::string::reverse_iterator &iter)
Definition: convert.h:851
Iterator()
Definition: convert.h:556
ReverseIterator & operator=(const std::string::reverse_iterator &iter)
Definition: convert.h:777
ReverseIterator::value_type operator*() const
Definition: convert.h:920
std::string locale_from_utf8(const std::string &input)
ReverseIterator(const Iterator &iter)
Definition: convert.h:872
std::string::const_iterator base() const
Definition: convert.h:821
void pointer
Definition: convert.h:395
A class which will iterate through a std::string object by reference to unicode characters rather tha...
Definition: convert.h:391
ReverseIterator & operator++()
Definition: convert.h:884
std::string::const_iterator base() const
Definition: convert.h:501
Iterator & operator=(const std::string::const_iterator &iter)
Definition: convert.h:449
std::string utf16_to_utf8(const std::u16string &input)
A class which will iterate in reverse through a std::string object by reference to unicode characters...
Definition: convert.h:697
Iterator & operator=(const Iterator &iter)
Definition: convert.h:471
Definition: application.h:44
virtual const char * what() const
Definition: convert.h:92
std::string locale_to_utf8(const std::string &input)
std::u32string utf32_from_utf8(const std::string &input)
ReverseIterator(const ReverseIterator &iter)
Definition: convert.h:860
ReverseIterator()
Definition: convert.h:877
std::string filename_to_utf8(const std::string &input)
gunichar reference
Definition: convert.h:394
std::wstring wide_from_utf8(const std::string &input)
bool operator!=(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:607
bool operator==(const Iterator &iter1, const Iterator &iter2)
Definition: convert.h:598
Iterator & operator++()
Definition: convert.h:563
std::string utf32_to_utf8(const std::u32string &input)
std::string wide_to_utf8(const std::wstring &input)
ReverseIterator & operator--()
Definition: convert.h:904
std::wstring uniwide_from_utf8(const std::string &input)
std::bidirectional_iterator_tag iterator_category
Definition: convert.h:703
#define CGU_GLIB_MEMORY_SLICES_FUNCS
Definition: cgu_config.h:84
gunichar value_type
Definition: convert.h:393