|
a/src/unac/unac.c |
|
b/src/unac/unac.c |
|
... |
|
... |
29 |
caught writing another binary search */
|
29 |
caught writing another binary search */
|
30 |
#include <vector>
|
30 |
#include <vector>
|
31 |
#include <map>
|
31 |
#include <map>
|
32 |
#include <string>
|
32 |
#include <string>
|
33 |
#include <algorithm>
|
33 |
#include <algorithm>
|
34 |
#include <tr1/unordered_map>
|
34 |
#include "unordered_defs.h"
|
35 |
using std::string;
|
35 |
using std::string;
|
36 |
using std::tr1::unordered_map;
|
36 |
|
37 |
#include "smallut.h"
|
37 |
#include "smallut.h"
|
38 |
|
38 |
|
39 |
/*
|
39 |
/*
|
40 |
Storage for the exception translations. These are chars which
|
40 |
Storage for the exception translations. These are chars which
|
41 |
should not be translated according to what UnicodeData says, but
|
41 |
should not be translated according to what UnicodeData says, but
|
42 |
instead according to some local rule. There will usually be very
|
42 |
instead according to some local rule. There will usually be very
|
43 |
few of them, but they must be looked up for every translated char.
|
43 |
few of them, but they must be looked up for every translated char.
|
44 |
*/
|
44 |
*/
|
45 |
unordered_map<unsigned short, string> except_trans;
|
45 |
STD_UNORDERED_MAP<unsigned short, string> except_trans;
|
46 |
static inline bool is_except_char(unsigned short c, string& trans)
|
46 |
static inline bool is_except_char(unsigned short c, string& trans)
|
47 |
{
|
47 |
{
|
48 |
unordered_map<unsigned short, string>::const_iterator it
|
48 |
STD_UNORDERED_MAP<unsigned short, string>::const_iterator it
|
49 |
= except_trans.find(c);
|
49 |
= except_trans.find(c);
|
50 |
if (it == except_trans.end())
|
50 |
if (it == except_trans.end())
|
51 |
return false;
|
51 |
return false;
|
52 |
trans = it->second;
|
52 |
trans = it->second;
|
53 |
return true;
|
53 |
return true;
|