OpenTREP Logo  0.07.18
C++ Open Travel Request Parsing Library
Loading...
Searching...
No Matches
OTransliterator.hpp
Go to the documentation of this file.
1#ifndef __OPENTREP_BAS_OTRANSLITERATOR_HPP
2#define __OPENTREP_BAS_OTRANSLITERATOR_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <string>
9// ICU
10#include <unicode/unistr.h> // UnicodeString
11#include <unicode/translit.h> // Transliterator
12
13namespace OPENTREP {
14
19 public:
20 // //////////////// Business support methods ///////////////
28 std::string unpunctuate (const std::string& iString) const;
29
37 std::string unquote (const std::string& iString) const;
38
50 std::string unaccent (const std::string& iString) const;
51
59 std::string transliterate (const std::string& iString) const;
60
68 std::string normalise (const std::string& iString) const;
69
70
71 public:
72 // //////////////// Construction and destruction ///////////////
77
82
87
88
89 private:
90 // //////////////// Business support methods ///////////////
97 void unpunctuate (icu::UnicodeString&) const;
98
105 void unquote (icu::UnicodeString&) const;
106
117 void unaccent (icu::UnicodeString&) const;
118
125 void transliterate (icu::UnicodeString&) const;
126
127 private:
135 void initPunctuationRemover();
136
145 void initQuoteRemover();
146
154 void initAccentRemover();
155
164 void initTranlisterator();
165
169 void init();
170
174 void finalise();
175
176
177 private:
178 // /////////////////////// Attributes //////////////////////
182 icu::Transliterator* _punctuationRemover;
183
187 icu::Transliterator* _quoteRemover;
188
192 icu::Transliterator* _accentRemover;
193
199 icu::Transliterator* _tranlist;
200 };
201
202}
203#endif // __OPENTREP_BAS_OTRANSLITERATOR_HPP
std::string unquote(const std::string &iString) const
std::string normalise(const std::string &iString) const
std::string transliterate(const std::string &iString) const
std::string unpunctuate(const std::string &iString) const
std::string unaccent(const std::string &iString) const