1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
10 #ifndef __SC_TYPEDSTRDATA_HXX__
11 #define __SC_TYPEDSTRDATA_HXX__
13 #include "rtl/ustring.hxx"
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;
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;
70 class FindTypedStrData
: std::unary_function
<ScTypedStrData
, bool>
75 FindTypedStrData(const ScTypedStrData
& rVal
, bool bCaseSens
);
76 bool operator() (const ScTypedStrData
& r
) const;
79 typedef std::set
<ScTypedStrData
, ScTypedStrData::LessCaseSensitive
> ScTypedCaseStrSet
;
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */