• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kiten/lib

  • sources
  • kde-4.14
  • kdeedu
  • kiten
  • lib
  • DictEdict
indexededictfile.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * This file is part of Kiten, a KDE Japanese Reference Tool *
3  * Copyright (C) 2001 Jason Katz-Brown <jason@katzbrown.com> *
4  * Copyright (C) 2008 Joseph Kerian <jkerian@gmail.com> *
5  * *
6  * This library is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Library General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2 of the License, or (at your option) any later version. *
10  * *
11  * This library is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Library General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Library General Public License *
17  * along with this library; see the file COPYING.LIB. If not, write to *
18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
19  * Boston, MA 02110-1301, USA. *
20  *****************************************************************************/
21 
22 #ifndef KITEN_INDEXEDEDICTFILE_H
23 #define KITEN_INDEXEDEDICTFILE_H
24 
25 #include <QByteArray>
26 #include <QFile>
27 #include <QString>
28 #include <QVector>
29 
30 #ifdef HAVE_INTTYPES_H
31  #include <inttypes.h>
32 #else
33  typedef unsigned int uint32_t;
34 #endif
35 
40 class /* NO_EXPORT */ IndexedEdictFile
41 {
42  public:
46  IndexedEdictFile();
47  ~IndexedEdictFile();
48 
52  QVector<QString> findMatches( const QString &query ) const;
53 
57  bool loadFile( const QString &fileName );
58 
62  bool valid() const;
63 
64  private:
65  bool buildIndex();
66  bool checkIndex() const;
67  int equalOrSubstring( const char* str1, const char* str2 ) const;
68  uint32_t findFirstMatch( const QByteArray &query ) const;
69  int findMatches( const char* str1, const char* str2 ) const;
70  bool loadmmaps();
71  unsigned char lookupDictChar( uint32_t i ) const;
72  QByteArray lookupDictLine( uint32_t i ) const;
73  QByteArray lookupFullLine( uint32_t i ) const;
74 
75  bool m_valid;
76  QFile m_dictFile;
77  unsigned char *m_dictPtr;
78  mutable QFile m_indexFile;
79  uint32_t *m_indexPtr;
80 
81  static const int indexFileVersion = 14;
82 };
83 
84 #endif
QByteArray
IndexedEdictFile::findMatches
QVector< QString > findMatches(const QString &query) const
Get everything that looks remotely like a given search string.
Definition: indexededictfile.cpp:181
IndexedEdictFile::loadFile
bool loadFile(const QString &fileName)
Load a file, generate the index if it doesn't already exist.
Definition: indexededictfile.cpp:298
IndexedEdictFile
A class for managing the EDICT formatted dictionaries with their dictionary files.
Definition: indexededictfile.h:40
QFile
QString
IndexedEdictFile::IndexedEdictFile
IndexedEdictFile()
Create and initialize this object.
Definition: indexededictfile.cpp:38
IndexedEdictFile::~IndexedEdictFile
~IndexedEdictFile()
Definition: indexededictfile.cpp:45
QVector
IndexedEdictFile::valid
bool valid() const
Test if the file was properly loaded.
Definition: indexededictfile.cpp:445
uint32_t
unsigned int uint32_t
Definition: indexededictfile.h:33
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:16:38 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kiten/lib

Skip menu "kiten/lib"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal