mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-11 11:25:40 +03:00
rollback
This commit is contained in:
parent
a4f69bb187
commit
3c7b7ac9f5
@ -7,34 +7,20 @@ Vocabulary* g_vocab = NULL;
|
||||
} // namespace
|
||||
|
||||
int Vocabulary::Encode(const std::string& token) {
|
||||
#ifdef WITH_THREADS
|
||||
boost::upgrade_lock<boost::shared_mutex> read_lock(m_accessLock);
|
||||
#endif // WITH_THREADS
|
||||
|
||||
iterator it = m_vocab.find(token);
|
||||
int encoded_token;
|
||||
if (it == m_vocab.end()) {
|
||||
// Add an new entry to the vocaburary.
|
||||
encoded_token = static_cast<int>(m_vocab.size());
|
||||
|
||||
#ifdef WITH_THREADS
|
||||
boost::upgrade_to_unique_lock<boost::shared_mutex> uniqueLock(read_lock);
|
||||
#endif // WITH_THREADS
|
||||
|
||||
m_vocab[token] = encoded_token;
|
||||
} else {
|
||||
#ifdef WITH_THREADS
|
||||
boost::upgrade_to_unique_lock<boost::shared_mutex> uniqueLock(read_lock);
|
||||
#endif // WITH_THREADS
|
||||
encoded_token = it->second;
|
||||
}
|
||||
return encoded_token;
|
||||
}
|
||||
|
||||
bool Vocabulary::Lookup(const std::string&str , int* v) const {
|
||||
#ifdef WITH_THREADS
|
||||
boost::shared_lock<boost::shared_mutex> read_lock(m_accessLock);
|
||||
#endif // WITH_THREADS
|
||||
|
||||
const_iterator it = m_vocab.find(str);
|
||||
if (it == m_vocab.end()) return false;
|
||||
|
@ -4,10 +4,6 @@
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
#ifdef WITH_THREADS
|
||||
#include <boost/thread/shared_mutex.hpp>
|
||||
#endif
|
||||
|
||||
namespace mert {
|
||||
|
||||
/**
|
||||
@ -51,11 +47,6 @@ class Vocabulary {
|
||||
private:
|
||||
std::map<std::string, int> m_vocab;
|
||||
|
||||
#ifdef WITH_THREADS
|
||||
//reader-writer lock
|
||||
mutable boost::shared_mutex m_accessLock;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
class VocabularyFactory {
|
||||
|
Loading…
Reference in New Issue
Block a user