summaryrefslogtreecommitdiff
path: root/inputmethods/dasher/AlphabetMap.h
Side-by-side diff
Diffstat (limited to 'inputmethods/dasher/AlphabetMap.h') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/dasher/AlphabetMap.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/inputmethods/dasher/AlphabetMap.h b/inputmethods/dasher/AlphabetMap.h
index 3aac1f5..62f20d9 100644
--- a/inputmethods/dasher/AlphabetMap.h
+++ b/inputmethods/dasher/AlphabetMap.h
@@ -47,49 +47,49 @@ IAM 08/2002
*/
#ifndef __AlphabetMap_h__
#define __AlphabetMap_h__
#include "MSVC_Unannoy.h"
#include <vector>
#include <string>
#include "DasherTypes.h"
namespace Dasher {class alphabet_map;}
class Dasher::alphabet_map
{
public:
alphabet_map(uint InitialTableSize=255);
void Add(const std::string& Key, symbol Value);
symbol Get(const std::string& Key, bool* KeyIsPrefix=0) const;
private:
class Entry
{
public:
Entry(std::string Key, symbol Symbol, Entry* Next)
- : Key(Key), Symbol(Symbol), Next(Next), KeyIsPrefix(false) {}
+ : Key(Key), KeyIsPrefix(false), Symbol(Symbol), Next(Next) {}
std::string Key;
bool KeyIsPrefix;
symbol Symbol;
Entry* Next;
};
void RecursiveAdd(const std::string& Key, symbol Value, bool PrefixFlag);
// A standard hash -- could try and research something specific.
inline uint Hash(const std::string& Input) const {
uint Result = 0;
typedef std::string::const_iterator CI;
CI Cur = Input.begin();
CI end = Input.end();
while (Cur!=end) Result = (Result<<1)^*Cur++;
Result %= HashTable.size();
return Result;
/*
if (Input.size()==1) // Speedup for ASCII text
return Input[0];