OpenTREP Logo  0.07.7
C++ Open Travel Request Parsing Library
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 
13 namespace 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
OPENTREP::OTransliterator::OTransliterator
OTransliterator()
Definition: OTransliterator.cpp:17
OPENTREP::OTransliterator::normalise
std::string normalise(const std::string &iString) const
Definition: OTransliterator.cpp:233
OPENTREP::OTransliterator::unpunctuate
std::string unpunctuate(const std::string &iString) const
Definition: OTransliterator.cpp:156
OPENTREP::OTransliterator
Definition: OTransliterator.hpp:18
OPENTREP::OTransliterator::~OTransliterator
~OTransliterator()
Definition: OTransliterator.cpp:42
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::OTransliterator::unquote
std::string unquote(const std::string &iString) const
Definition: OTransliterator.cpp:177
OPENTREP::OTransliterator::unaccent
std::string unaccent(const std::string &iString) const
Definition: OTransliterator.cpp:198
OPENTREP::OTransliterator::transliterate
std::string transliterate(const std::string &iString) const
Definition: OTransliterator.cpp:219