したがって、この関数の結果を一意にする必要があります。
私の仕事は簡単です。テキスト処理アプリケーションのエンコーディング選択ダイアログを表示したいだけです。私の最初の素朴な解決策は次のようになります。
QList<QByteArray> encodings = QTextCodec::availableCodecs ();
QSet<QTextCodec*> unique_codecs;
unique_codecs.insert (QTextCodec::codecForName ("autodetect"));
unique_codecs.insert (QTextCodec::codecForName ("system"));
foreach (QByteArray e, encodings)
{
if (QTextCodec* c = QTextCodec::codecForName (e))
{
if (!unique_codecs.contains (c))
{
m_encodings.append (e); // QStringList to store encodings
unique_codecs.insert (c);
}
}
}
他にアイデアはありますか?