Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/moses
diff options
context:
space:
mode:
authorredpony <redpony@1f5c12ca-751b-0410-a591-d2e778427230>2006-10-03 22:56:13 +0400
committerredpony <redpony@1f5c12ca-751b-0410-a591-d2e778427230>2006-10-03 22:56:13 +0400
commite5a880a0925bb425f18996d8c5797c667ec676f9 (patch)
tree087f5e31558ab14844acc007645274793eadeea9 /moses
parent0926bf40cca7a31dd5494a1bcc8900b6f5ae169a (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-xmoses/src/Word.cpp24
-rwxr-xr-xmoses/src/Word.h25
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 &copy)
-#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 &copy);
- Word();
+ /** deep copy */
+ Word(const Word &copy) {
+ 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;