LibreOffice Module sc (master) 1
simpleformulacalc.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#pragma once
11
12#include <memory>
13#include <formula/grammar.hxx>
14
15#include "address.hxx"
16#include "formularesult.hxx"
17
18class ScDocument;
19class ScTokenArray;
20
22{
23private:
25
27 std::unique_ptr<ScTokenArray> mpCode;
36
37public:
39 const OUString& rFormula, bool bMatrixFormula,
42
43 void Calculate();
44 bool IsValue();
45 bool IsMatrix();
47 double GetValue();
50
51 bool HasColRowName() const;
52
54
55 void SetLimitString(bool bLimitString);
56};
57
58/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Store a variable formula cell result, balancing between runtime performance and memory consumption.
svl::SharedString GetString()
std::unique_ptr< ScTokenArray > mpCode
formula::FormulaGrammar::Grammar maGram
SvNumFormatType GetFormatType() const
void SetLimitString(bool bLimitString)
ScSimpleFormulaCalculator(ScDocument &rDoc, const ScAddress &rAddr, const OUString &rFormula, bool bMatrixFormula, formula::FormulaGrammar::Grammar eGram=formula::FormulaGrammar::GRAM_DEFAULT)
FormulaError
SvNumFormatType