Stop leaking all ScPostIt instances.
[LibreOffice.git] / sc / inc / typedstrdata.hxx
blob7d8cf4483400e403af2ca5ea3698e1ee9fbda7a4
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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 */
10 #ifndef __SC_TYPEDSTRDATA_HXX__
11 #define __SC_TYPEDSTRDATA_HXX__
13 #include "rtl/ustring.hxx"
14 #include "scdllapi.h"
16 #include <set>
18 class ScTypedStrData
20 public:
21 enum StringType {
22 Value = 0,
23 Standard = 1,
24 Name = 2,
25 DbName = 3,
26 Header = 4
29 ScTypedStrData( const OUString& rStr, double nVal = 0.0,
30 StringType eType = Standard, bool bDate = false );
32 ScTypedStrData( const ScTypedStrData& rCpy );
34 bool IsStrData() const;
35 bool IsDate() const;
36 SC_DLLPUBLIC const OUString& GetString() const;
37 StringType GetStringType() const;
38 double GetValue() const { return mfValue; }
40 struct LessCaseSensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
42 bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
45 struct LessCaseInsensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
47 bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
50 struct EqualCaseSensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
52 bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
55 struct EqualCaseInsensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
57 bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
60 bool operator== (const ScTypedStrData& r) const;
61 bool operator< (const ScTypedStrData& r) const;
63 private:
64 OUString maStrValue;
65 double mfValue;
66 StringType meStrType;
67 bool mbIsDate;
70 class FindTypedStrData : std::unary_function<ScTypedStrData, bool>
72 ScTypedStrData maVal;
73 bool mbCaseSens;
74 public:
75 FindTypedStrData(const ScTypedStrData& rVal, bool bCaseSens);
76 bool operator() (const ScTypedStrData& r) const;
79 typedef std::set<ScTypedStrData, ScTypedStrData::LessCaseSensitive> ScTypedCaseStrSet;
81 #endif
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */