diff options
author | redpony <redpony@1f5c12ca-751b-0410-a591-d2e778427230> | 2006-10-03 22:56:13 +0400 |
---|---|---|
committer | redpony <redpony@1f5c12ca-751b-0410-a591-d2e778427230> | 2006-10-03 22:56:13 +0400 |
commit | e5a880a0925bb425f18996d8c5797c667ec676f9 (patch) | |
tree | 087f5e31558ab14844acc007645274793eadeea9 /moses | |
parent | 0926bf40cca7a31dd5494a1bcc8900b6f5ae169a (diff) |
inline constructors, destructors in Word. test new commit mailer.
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@844 1f5c12ca-751b-0410-a591-d2e778427230
Diffstat (limited to 'moses')
-rwxr-xr-x | moses/src/Word.cpp | 24 | ||||
-rwxr-xr-x | moses/src/Word.h | 25 |
2 files changed, 13 insertions, 36 deletions
diff --git a/moses/src/Word.cpp b/moses/src/Word.cpp index 5c8384316..96044e519 100755 --- a/moses/src/Word.cpp +++ b/moses/src/Word.cpp @@ -28,30 +28,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA using namespace std; -Word::Word(const Word ©) -#ifdef DYNAMIC_FACTOR_ARRAY -: m_factorArray(copy.m_factorArray) -#endif -{ // deep copy -#ifndef DYNAMIC_FACTOR_ARRAY - memcpy(m_factorArray, copy.m_factorArray, sizeof(FactorArray)); -#endif -} - -Word::Word() -#ifdef DYNAMIC_FACTOR_ARRAY -: m_factorArray(MAX_NUM_FACTORS, 0) -#endif -{ -#ifndef DYNAMIC_FACTOR_ARRAY - memset(m_factorArray, 0, sizeof(FactorArray)); -#endif -} - -Word::~Word() -{ -} - // static int Word::Compare(const Word &targetWord, const Word &sourceWord) { diff --git a/moses/src/Word.h b/moses/src/Word.h index 5cbf2bbcf..f603dcac2 100755 --- a/moses/src/Word.h +++ b/moses/src/Word.h @@ -28,8 +28,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "Factor.h" #include "Util.h" -#undef DYNAMIC_FACTOR_ARRAY - class Phrase; /*** @@ -41,22 +39,23 @@ class Word protected: -#ifndef DYNAMIC_FACTOR_ARRAY typedef const Factor * FactorArray[MAX_NUM_FACTORS]; -#else - typedef std::vector<const Factor*> FactorArray; -#endif FactorArray m_factorArray; public: - /** - * deep copy - */ - Word(const Word ©); - Word(); + /** deep copy */ + Word(const Word ©) { + std::memcpy(m_factorArray, copy.m_factorArray, sizeof(FactorArray)); + } + + /** empty word */ + Word() { + std::memset(m_factorArray, 0, sizeof(FactorArray)); + } + + ~Word() {} - ~Word(); const Factor*& operator[](FactorType index) { return m_factorArray[index]; } @@ -72,6 +71,8 @@ public: m_factorArray[factorType] = factor; } + /** add the factors from sourceWord into this representation, + * NULL elements in sourceWord will be skipped */ void Merge(const Word &sourceWord); std::string ToString(const std::vector<FactorType> factorType) const; |