4 Website: http://www.vultaire.net/software/jben/
5 License: GNU General Public License (GPL) version 2
6 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt)
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>
27 /* Stock wxWidgets includes */
28 #include "wx/wxprec.h"
41 #define ST_FREQUENCY 2
45 KanjiList(const BoostHM
<wxChar
,string
>* const kanjiDicHash
);
46 int AddFromString(const wxString
& s
);
47 int AddByGrade(int lowGrade
, int highGrade
);
48 int AddByFrequency(int lowFreq
, int highFreq
);
50 wxString
ToString(int lineWidth
);
53 vector
<wxChar
>::iterator
Find(wxChar c
);
56 void Sort(int sortType
, bool reverseOrder
=false);
57 wxChar
operator[](unsigned int index
);
59 wxChar
GetCharByIndex(unsigned int index
);
61 int GetIndexByChar(wxChar c
);
62 vector
<wxChar
>& GetVector();
65 void InplaceMerge(vector
<wxChar
>& v
, BoostHM
<wxChar
,int>& indexer
, int start
, int middle
, int end
);
67 const BoostHM
<wxChar
,string
> *kanjiHash
;
68 vector
<wxChar
> kanjiList
;
69 BoostHM
<wxChar
, int> *myCharIndexer
;
71 The wxWidgets documentation does say to avoid using templates, but at
72 the same time, wx has been around for a -long- time, and since gcc is
73 pretty well universally supported and supports templates, I think for
74 the purposes of my program the convenience of templates outweighs the
75 compatibility loss with certain seldom-used obscure compilers.
77 If desired, we can do the hunky-dory wxWidgets ARRAY mechanism,
78 or we can just create a custom vector class by hand. But until the STL
79 class fails us, I see no reason not to use it. */