File indexing completed on 2024-06-23 05:48:51

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2009, 2023 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef KASTEN_SINT64_HPP
0010 #define KASTEN_SINT64_HPP
0011 
0012 // Qt
0013 #include <QLocale>
0014 #include <QMetaType>
0015 #include <QString>
0016 
0017 struct SInt64
0018 {
0019 public:
0020     SInt64(qint64 v);
0021     SInt64(const SInt64&) = default;
0022     SInt64();
0023 
0024     ~SInt64() = default;
0025 
0026     SInt64& operator=(const SInt64&) = default;
0027 
0028 public:
0029     QString toString() const;
0030     QString toString(const QLocale& locale) const;
0031 
0032 public:
0033     qint64 value = 0;
0034 };
0035 
0036 inline SInt64::SInt64() = default;
0037 inline SInt64::SInt64(qint64 v) : value(v) {}
0038 
0039 inline QString SInt64::toString() const { return QString::number(value); }
0040 inline QString SInt64::toString(const QLocale& locale) const { return locale.toString(value); }
0041 
0042 Q_DECLARE_METATYPE(SInt64)
0043 
0044 #endif