/* -*- 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/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
class ScDocument; struct ScInterpreterContext; struct ScQueryParam;
/** Sorted cache for one range used with interpreter functions such as VLOOKUP and MATCH. Caches sorted order for cells in the given range, which must be one column. This allows faster lookups when cells are not sorted.
The class has a vector of SCROW items, which is sorted according to values of those cells. Therefore e.g. binary search of those cells can be done by doing binary search of the vector while mapping the indexes to rows.
*/
class ScSortedRangeCache final : public SvtListener
{ public: /// MUST be new'd because Notify() deletes.
ScSortedRangeCache(ScDocument& rDoc, const ScRange& rRange, const ScQueryParam& param,
ScInterpreterContext* context, bool invalid = false, bool bNewSearchFunction = false, sal_uInt8 nSortedBinarySearch = 0x00);
/// Returns if the cache is usable. bool isValid() const { return mValid; }
/// Remove from document structure and delete (!) cache on modify hint. virtualvoid Notify(const SfxHint& rHint) override;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.