Line data Source code
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 : #ifndef INCLUDED_SC_INC_COLUMNSET_HXX
11 : #define INCLUDED_SC_INC_COLUMNSET_HXX
12 :
13 : #include "address.hxx"
14 :
15 : #include <unordered_set>
16 : #include <unordered_map>
17 : #include <vector>
18 :
19 : namespace sc {
20 :
21 : /**
22 : * Simple container to keep track of sheet - column pair.
23 : */
24 516 : class ColumnSet
25 : {
26 : typedef std::unordered_set<SCCOL> ColsType;
27 : typedef std::unordered_map<SCTAB, ColsType> TabsType;
28 : TabsType maTabs;
29 :
30 : public:
31 : void set(SCTAB nTab, SCCOL nCol);
32 : void getColumns(SCTAB nTab, std::vector<SCCOL>& rCols) const;
33 : };
34 :
35 : }
36 :
37 : #endif
38 :
39 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|