Dictionary type changed from std::map to std::multimap. But need to improve this
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CodeLite_Project Name="CrossBench" InternalType="GUI">
|
||||
<Plugins>
|
||||
<Plugin Name="CppCheck"/>
|
||||
<Plugin Name="CMakePlugin">
|
||||
<![CDATA[[{
|
||||
"name": "Debug",
|
||||
@@ -31,7 +32,6 @@
|
||||
"parentProject": ""
|
||||
}]]]>
|
||||
</Plugin>
|
||||
<Plugin Name="CppCheck"/>
|
||||
</Plugins>
|
||||
<Description/>
|
||||
<Dependencies/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CodeLite_Workspace Name="CrossGen" Database="">
|
||||
<Project Name="wxCrossGen" Path="wxCrossGen/wxCrossGen.project" Active="No"/>
|
||||
<Project Name="CrossBench" Path="CrossBench/CrossBench.project" Active="Yes"/>
|
||||
<Project Name="wxCrossGen" Path="wxCrossGen/wxCrossGen.project" Active="Yes"/>
|
||||
<Project Name="CrossBench" Path="CrossBench/CrossBench.project" Active="No"/>
|
||||
<Environment>
|
||||
<![CDATA[]]>
|
||||
</Environment>
|
||||
@@ -12,7 +12,7 @@
|
||||
</WorkspaceConfiguration>
|
||||
<WorkspaceConfiguration Name="Release" Selected="yes">
|
||||
<Project Name="wxCrossGen" ConfigName="Release"/>
|
||||
<Project Name="CrossBench" ConfigName="Profiling"/>
|
||||
<Project Name="CrossBench" ConfigName="Release"/>
|
||||
</WorkspaceConfiguration>
|
||||
</BuildMatrix>
|
||||
</CodeLite_Workspace>
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
typedef std::map< wxString, wxString > DictType;
|
||||
// TODO: Improve worling with multiple definition of words. Move working with it
|
||||
// to crossgen.cpp from fmain.cpp
|
||||
typedef std::multimap< wxString, wxString > DictType;
|
||||
typedef std::vector< std::vector< wxChar > > GridType;
|
||||
|
||||
typedef uint8_t TransedChar;
|
||||
|
||||
@@ -14,7 +14,7 @@ void readDict(const wxString &path, DictType &dict_out){
|
||||
int del_ind = str.Index('-');
|
||||
wxString key = str.Left(del_ind-1);
|
||||
wxString val = str.Right(str.size() - del_ind - 2);
|
||||
dict_out[key] = val;
|
||||
dict_out.insert(std::make_pair(key,val));
|
||||
}
|
||||
f.Close();
|
||||
};
|
||||
@@ -304,7 +304,7 @@ bool procCross(
|
||||
t_grid[cur_wi.x][j + cur_wi.y] = cur_word[j];
|
||||
}
|
||||
|
||||
if (procCross(t_used, words, t_grid, winfos, cur_word_ind + 1, out)){
|
||||
if ( procCross(t_used, words, t_grid, winfos, cur_word_ind + 1, out) ){
|
||||
out.push_back(cur_word);
|
||||
return true;
|
||||
}
|
||||
@@ -318,9 +318,9 @@ void generateCross(const GridType &grid, const AllWordsType &words,
|
||||
|
||||
std::vector<WordInfo> winfos;
|
||||
generateWordInfo(grid, winfos);
|
||||
for (size_t i = 0; i < winfos.size(); ++i)
|
||||
for (auto el: winfos)
|
||||
wxLogDebug(wxT("Word at (%2d,%2d) with len = %2d and index = %2d and dir = %d"),
|
||||
winfos.at(i).x,winfos.at(i).y,winfos.at(i).len, winfos.at(i).ind, int(winfos.at(i).direct));
|
||||
el.x,el.y,el.len, el.ind, int(el.direct));
|
||||
|
||||
WorkGridType grid_work;
|
||||
toWorkGridType(grid, grid_work);
|
||||
|
||||
@@ -142,7 +142,7 @@ void MainFrame::onGenerateClick(wxCommandEvent &event) {
|
||||
|
||||
_ques.clear();
|
||||
for (size_t i = 0; i < words_out.size(); ++i)
|
||||
_ques.push_back(_dict[words_out.at(i)]);
|
||||
_ques.push_back(_dict.find(words_out.at(i))->second);
|
||||
|
||||
tOutput->Clear();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user