/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef INCLUDED_SC_INC_MTVCELLFUNC_HXX #define INCLUDED_SC_INC_MTVCELLFUNC_HXX #include "mtvelements.hxx" #include "mtvfunctions.hxx" namespace sc { template void ProcessFormula(CellStoreType& rStore, _Func& rFunc) { FuncElseNoOp aElse; ProcessElements1 >(rStore, rFunc, aElse); } template typename CellStoreType::iterator ProcessFormula( const CellStoreType::iterator& it, CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem) { FuncElseNoOp aElse; return ProcessElements1< CellStoreType, formula_block, _FuncElem, FuncElseNoOp >(it, rStore, nRow1, nRow2, rFuncElem, aElse); } template typename CellStoreType::iterator ProcessFormula( const CellStoreType::iterator& it, CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem, _FuncElse& rFuncElse) { return ProcessElements1< CellStoreType, formula_block, _FuncElem, _FuncElse>(it, rStore, nRow1, nRow2, rFuncElem, rFuncElse); } template typename CellStoreType::iterator ProcessFormulaNumeric( const CellStoreType::iterator& itPos, CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _Func& rFunc) { FuncElseNoOp aElse; return ProcessElements2< CellStoreType, numeric_block, formula_block, _Func, FuncElseNoOp >( itPos, rStore, nRow1, nRow2, rFunc, aElse); } template void ProcessEditText(CellStoreType& rStore, _Func& rFunc) { FuncElseNoOp aElse; ProcessElements1 >(rStore, rFunc, aElse); } template CellStoreType::iterator ProcessEditText(const CellStoreType::iterator& itPos, CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _Func& rFunc) { FuncElseNoOp aElse; return ProcessElements1 >( itPos, rStore, nRow1, nRow2, rFunc, aElse); } template void ParseFormula( const CellStoreType& rStore, _Func& rFunc) { FuncElseNoOp aElse; ParseElements1 >(rStore, rFunc, aElse); } template typename CellStoreType::const_iterator ParseFormula( const CellStoreType::const_iterator& itPos, const CellStoreType& rStore, SCROW nStart, SCROW nEnd, _Func& rFunc) { FuncElseNoOp aElse; return ParseElements1 >( itPos, rStore, nStart, nEnd, rFunc, aElse); } template typename CellStoreType::const_iterator ParseAll( const typename CellStoreType::const_iterator& itPos, const CellStoreType& rCells, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem, _FuncElse& rFuncElse) { return ParseElements4( itPos, rCells, nRow1, nRow2, rFuncElem, rFuncElse); } template typename CellStoreType::const_iterator ParseAllNonEmpty( const typename CellStoreType::const_iterator& itPos, const CellStoreType& rCells, SCROW nRow1, SCROW nRow2, _Func& rFunc) { FuncElseNoOp aElse; return ParseElements4 >( itPos, rCells, nRow1, nRow2, rFunc, aElse); } template typename CellStoreType::const_iterator ParseAllNonEmpty( const typename CellStoreType::const_iterator& itPos, const CellStoreType& rCells, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem, _FuncElse& rFuncElse) { return ParseElements4( itPos, rCells, nRow1, nRow2, rFuncElem, rFuncElse); } template typename CellStoreType::const_iterator ParseFormulaNumeric( const CellStoreType::const_iterator& itPos, const CellStoreType& rCells, SCROW nRow1, SCROW nRow2, _Func& rFunc) { FuncElseNoOp aElse; return ParseElements2 >( itPos, rCells, nRow1, nRow2, rFunc, aElse); } template void ProcessFormulaEditText(CellStoreType& rStore, _Func& rFunc) { FuncElseNoOp aElse; ProcessElements2 >(rStore, rFunc, aElse); } template std::pair FindFormula(const CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _Func& rFunc) { typedef std::pair ElseRetType; FuncElseNoOp aElse; return FindElement1 >(rStore, nRow1, nRow2, rFunc, aElse); } template std::pair FindFormulaEditText(const CellStoreType& rStore, SCROW nRow1, SCROW nRow2, _Func& rFunc) { return FindElement2(rStore, nRow1, nRow2, rFunc, rFunc); } template void ProcessNote(CellNoteStoreType& rStore, _Func& rFunc) { FuncElseNoOp aElse; ProcessElements1 >(rStore, rFunc, aElse); } template typename CellNoteStoreType::const_iterator ParseNote( const CellNoteStoreType::const_iterator& itPos, const CellNoteStoreType& rStore, SCROW nStart, SCROW nEnd, _Func& rFunc) { FuncElseNoOp aElse; return ParseElements1 >( itPos, rStore, nStart, nEnd, rFunc, aElse); } template typename CellNoteStoreType::iterator ProcessNote( const CellNoteStoreType::iterator& it, CellNoteStoreType& rStore, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem) { FuncElseNoOp aElse; return ProcessElements1< CellNoteStoreType, cellnote_block, _FuncElem, FuncElseNoOp >(it, rStore, nRow1, nRow2, rFuncElem, aElse); } template typename BroadcasterStoreType::iterator ProcessBroadcaster( const BroadcasterStoreType::iterator& it, BroadcasterStoreType& rStore, SCROW nRow1, SCROW nRow2, _FuncElem& rFuncElem) { FuncElseNoOp aElse; return ProcessElements1< BroadcasterStoreType, broadcaster_block, _FuncElem, FuncElseNoOp >(it, rStore, nRow1, nRow2, rFuncElem, aElse); } } #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */