Kaydet (Commit) dfc3f290 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Let's not use VectorArray struct. There is no use for it.

Change-Id: Ic011143206c13fcbc1b3403bf5b7df46c6934899
üst c45c6307
...@@ -11,24 +11,26 @@ ...@@ -11,24 +11,26 @@
namespace formula { namespace formula {
VectorArray::VectorArray( const double* pArray, size_t nLength ) :
mpArray(pArray), mnLength(nLength) {}
SingleVectorRefToken::SingleVectorRefToken( const double* pArray, size_t nLength ) : SingleVectorRefToken::SingleVectorRefToken( const double* pArray, size_t nLength ) :
FormulaToken(svSingleVectorRef, ocPush), maArray(pArray, nLength) {} FormulaToken(svSingleVectorRef, ocPush), mpArray(pArray), mnLength(nLength) {}
FormulaToken* SingleVectorRefToken::Clone() const FormulaToken* SingleVectorRefToken::Clone() const
{ {
return new SingleVectorRefToken(maArray.mpArray, maArray.mnLength); return new SingleVectorRefToken(mpArray, mnLength);
}
const double* SingleVectorRefToken::GetArray() const
{
return mpArray;
} }
const VectorArray& SingleVectorRefToken::GetArray() const size_t SingleVectorRefToken::GetLength() const
{ {
return maArray; return mnLength;
} }
DoubleVectorRefToken::DoubleVectorRefToken( DoubleVectorRefToken::DoubleVectorRefToken(
const std::vector<VectorArray>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd ) : const std::vector<const double*>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd ) :
FormulaToken(svDoubleVectorRef, ocPush), FormulaToken(svDoubleVectorRef, ocPush),
maArrays(rArrays), mnRowSize(nRowSize), mbAbsStart(bAbsStart), mbAbsEnd(bAbsEnd) {} maArrays(rArrays), mnRowSize(nRowSize), mbAbsStart(bAbsStart), mbAbsEnd(bAbsEnd) {}
...@@ -37,7 +39,7 @@ FormulaToken* DoubleVectorRefToken::Clone() const ...@@ -37,7 +39,7 @@ FormulaToken* DoubleVectorRefToken::Clone() const
return new DoubleVectorRefToken(maArrays, mnRowSize, mbAbsStart, mbAbsEnd); return new DoubleVectorRefToken(maArrays, mnRowSize, mbAbsStart, mbAbsEnd);
} }
const std::vector<VectorArray>& DoubleVectorRefToken::GetArrays() const const std::vector<const double*>& DoubleVectorRefToken::GetArrays() const
{ {
return maArrays; return maArrays;
} }
......
...@@ -14,23 +14,18 @@ ...@@ -14,23 +14,18 @@
namespace formula { namespace formula {
struct VectorArray class FORMULA_DLLPUBLIC SingleVectorRefToken : public FormulaToken
{ {
const double* mpArray; const double* mpArray;
size_t mnLength; size_t mnLength;
VectorArray( const double* pArray, size_t nLength );
};
class FORMULA_DLLPUBLIC SingleVectorRefToken : public FormulaToken
{
const VectorArray maArray;
public: public:
SingleVectorRefToken( const double* pArray, size_t nLength ); SingleVectorRefToken( const double* pArray, size_t nLength );
virtual FormulaToken* Clone() const; virtual FormulaToken* Clone() const;
const VectorArray& GetArray() const; const double* GetArray() const;
size_t GetLength() const;
}; };
/** /**
...@@ -39,7 +34,7 @@ public: ...@@ -39,7 +34,7 @@ public:
*/ */
class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken
{ {
std::vector<VectorArray> maArrays; std::vector<const double*> maArrays;
size_t mnRowSize; size_t mnRowSize;
...@@ -48,11 +43,11 @@ class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken ...@@ -48,11 +43,11 @@ class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken
public: public:
DoubleVectorRefToken( DoubleVectorRefToken(
const std::vector<VectorArray>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd ); const std::vector<const double*>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd );
virtual FormulaToken* Clone() const; virtual FormulaToken* Clone() const;
const std::vector<VectorArray>& GetArrays() const; const std::vector<const double*>& GetArrays() const;
}; };
} }
......
...@@ -3063,8 +3063,8 @@ bool ScFormulaCell::InterpretFormulaGroup() ...@@ -3063,8 +3063,8 @@ bool ScFormulaCell::InterpretFormulaGroup()
case svSingleVectorRef: case svSingleVectorRef:
{ {
const formula::SingleVectorRefToken* p2 = static_cast<const formula::SingleVectorRefToken*>(p); const formula::SingleVectorRefToken* p2 = static_cast<const formula::SingleVectorRefToken*>(p);
const formula::VectorArray& rArray = p2->GetArray(); const double* pArray = p2->GetArray();
aCode2.AddDouble(rArray.mpArray[i]); aCode2.AddDouble(pArray[i]);
} }
break; break;
case svDoubleVectorRef: case svDoubleVectorRef:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment