11#include " charsetanalyzer.h"
2+ #include " charsetanalyzer_p.h"
23
3- #include < qrandom.h >
4+ #include < QtCore/QRandomGenerator >
45
56namespace LyricTool {
7+
8+ CharsetAnalyzerPrivate::CharsetAnalyzerPrivate () {
9+ }
10+
11+ void CharsetAnalyzerPrivate::init () {
12+ }
13+
614 CharsetAnalyzer::CharsetAnalyzer (const QString &id, QObject *parent)
7- : ILanguageAnalyzer( id, parent) {
15+ : CharsetAnalyzer(* new CharsetAnalyzerPrivate(), id, parent) {
816 }
917
1018 void CharsetAnalyzer::loadDict () {
1119 }
1220
1321 bool CharsetAnalyzer::contains (QChar c) const {
14- return m_charset.contains (c);
22+ Q_D (const CharsetAnalyzer);
23+ return d->charset .contains (c);
1524 }
1625
1726 QString CharsetAnalyzer::randString () const {
18- if (m_charset.isEmpty ()) {
19- return " " ;
27+ Q_D (const CharsetAnalyzer);
28+ if (d->charset .isEmpty ()) {
29+ return {};
2030 }
2131
22- const int randomIndex = QRandomGenerator::global ()->bounded (m_charset .size ());
23- auto it = m_charset .begin ();
32+ const int randomIndex = QRandomGenerator::global ()->bounded (d-> charset .size ());
33+ auto it = d-> charset .begin ();
2434 std::advance (it, randomIndex);
25-
2635 return *it;
2736 }
2837
38+ CharsetAnalyzer::CharsetAnalyzer (CharsetAnalyzerPrivate &d, const QString &id, QObject *parent)
39+ : ILanguageAnalyzer(d, id, parent) {
40+ d.init ();
41+ }
42+
2943}
0 commit comments