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

0001 /*
0002     This file is part of the Okteta Kasten module, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2007-2008 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_CONTAINEDSTRING_HPP
0010 #define KASTEN_CONTAINEDSTRING_HPP
0011 
0012 // Okteta core
0013 #include <Okteta/Address>
0014 #include <Okteta/Size>
0015 // Qt
0016 #include <QString>
0017 
0018 class ContainedString
0019 {
0020 public:
0021     ContainedString(const QString& string, Okteta::Address offset);
0022     ContainedString(const ContainedString&) = default;
0023 
0024     ~ContainedString() = default;
0025 
0026     ContainedString& operator=(const ContainedString&) = default;
0027 
0028 public:
0029     void move(Okteta::Size offset);
0030 
0031 public:
0032     const QString& string() const;
0033     Okteta::Address offset() const;
0034 
0035 private:
0036     QString mString;
0037     Okteta::Address mOffset;
0038 };
0039 
0040 inline ContainedString::ContainedString(const QString& string, Okteta::Address offset)
0041     : mString(string)
0042     , mOffset(offset)
0043 {}
0044 
0045 inline void ContainedString::move(Okteta::Size offset) { mOffset += offset; }
0046 
0047 inline const QString& ContainedString::string()  const { return mString; }
0048 inline Okteta::Address ContainedString::offset() const { return mOffset; }
0049 
0050 #endif