summaryrefslogtreecommitdiff
path: root/decoder/dict.h
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/dict.h')
-rw-r--r--decoder/dict.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/decoder/dict.h b/decoder/dict.h
index bc3a904a..39baf6ed 100644
--- a/decoder/dict.h
+++ b/decoder/dict.h
@@ -8,6 +8,8 @@
#include <vector>
#include <boost/functional/hash.hpp>
+#include <boost/regex.hpp>
+#include <boost/algorithm/string/regex.hpp>
#include "wordid.h"
@@ -36,7 +38,7 @@ class Dict {
std::string word= "";
for (std::vector<std::string>::const_iterator it=words.begin();
it != words.end(); ++it) {
- if (it != words.begin()) word += "__";
+ if (it != words.begin()) word += "|||";
word += *it;
}
@@ -49,6 +51,12 @@ class Dict {
return words_[id-1];
}
+ inline std::vector<std::string> AsVector(const WordID& id) const {
+ std::vector<std::string> result;
+ boost::algorithm::split_regex(result, Convert(id), boost::regex("\\|\\|\\|"));
+ return result;
+ }
+
void clear() { words_.clear(); d_.clear(); }
private: