summaryrefslogtreecommitdiffstats
path: root/sc/inc/formulagroup.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-04-30 11:16:21 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-04-30 13:10:45 -0400
commitc9aa06260000a3640a5557c2d34be7e2a82d8f91 (patch)
treebbc8f9668d5adf923c5231ef7026c3457be49f3e /sc/inc/formulagroup.hxx
parentTypo. (diff)
downloadcore-c9aa06260000a3640a5557c2d34be7e2a82d8f91.tar.gz
core-c9aa06260000a3640a5557c2d34be7e2a82d8f91.zip
Move the group calculation code into its own class.
To isolate the code that will be re-written for true vectorized calculation... Change-Id: I3ccd15841ed6fcdc6a22a590ba82d46d0b4863c5
Diffstat (limited to 'sc/inc/formulagroup.hxx')
-rw-r--r--sc/inc/formulagroup.hxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/sc/inc/formulagroup.hxx b/sc/inc/formulagroup.hxx
index 0a8e3f7aa7c1..55f6e0997ff8 100644
--- a/sc/inc/formulagroup.hxx
+++ b/sc/inc/formulagroup.hxx
@@ -10,9 +10,15 @@
#ifndef SC_FORMULAGROUP_HXX
#define SC_FORMULAGROUP_HXX
+#include "address.hxx"
+#include "types.hxx"
+
#include <boost/noncopyable.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
+class ScDocument;
+class ScTokenArray;
+
namespace sc {
struct FormulaGroupContext : boost::noncopyable
@@ -23,6 +29,22 @@ struct FormulaGroupContext : boost::noncopyable
ArrayStoreType maArrays;
};
+/**
+ * All the vectorized formula calculation code should be collectd here.
+ */
+class FormulaGroupInterpreter
+{
+ ScDocument& mrDoc;
+ ScAddress maTopPos;
+ ScFormulaCellGroupRef mxGroup;
+ ScTokenArray& mrCode;
+public:
+ FormulaGroupInterpreter(
+ ScDocument& rDoc, const ScAddress& rTopPos, const ScFormulaCellGroupRef& xGroup, ScTokenArray& rCode);
+
+ bool interpret();
+};
+
}
#endif