KOSMIndoorMap
            
 
   21template <
typename T, 
char Prefix>
 
   25    explicit inline constexpr Identifier() = 
default;
 
   26    explicit inline constexpr Identifier(T 
id) : m_id(id) {}
 
   27    explicit inline Identifier(QStringView 
id) : m_id(fromString(id).m_id) {}
 
   28    explicit inline Identifier(QByteArrayView 
id) : m_id(fromString(id).m_id) {}
 
   30    [[nodiscard]] 
inline constexpr bool isValid()
 const 
   35    [[nodiscard]] 
inline constexpr bool operator<(Identifier other)
 const 
   37        return m_id < other.m_id;
 
   39    [[nodiscard]] 
inline constexpr bool operator==(Identifier other)
 const 
   41        return m_id == other.m_id;
 
   43    [[nodiscard]] 
inline constexpr bool operator!=(Identifier other)
 const 
   45        return m_id != other.m_id;
 
   48    [[nodiscard]] 
inline QString toString()
 const 
   57    [[nodiscard]] 
static inline Identifier fromString(QStringView 
id)
 
   59        if (!
id.startsWith(QLatin1Char(Prefix))) {
 
   62        return Identifier(
id.mid(1).toULongLong());
 
   64    [[nodiscard]] 
static inline Identifier fromString(QByteArrayView 
id)
 
   66        if (!
id.startsWith(Prefix)) {
 
   69        return Identifier(
id.mid(1).toULongLong());
 
   74class Q : 
public Identifier<uint64_t, 'Q'>
 
   77    explicit inline constexpr Q() = 
default;
 
   78    explicit inline constexpr Q(uint64_t 
id) : Identifier(
id) {}
 
   79    explicit inline Q(
QStringView id) : Identifier(
id) {}
 
   83    friend class std::hash<Wikidata::Q>;
 
 
   87class P : 
public Identifier<uint32_t, 'P'>
 
   90    enum Property : uint32_t {
 
   97        imageOfInterior = 5775,
 
  103    explicit inline constexpr P() = 
default;
 
  104     inline constexpr P(Property 
id) : Identifier(
id) {}
 
  105    explicit inline constexpr P(uint32_t 
id) : Identifier(
id) {}
 
  106    explicit inline P(
QStringView id) : Identifier(
id) {}
 
  109    friend class std::hash<Wikidata::P>;
 
 
  120    [[nodiscard]] 
inline constexpr bool isValid()
 const { 
return m_id.isValid(); }
 
  121    [[nodiscard]] 
inline constexpr Q id()
 const { 
return m_id; }
 
  123    template <
typename T>
 
  124    [[nodiscard]] 
inline T value(
P property)
 const 
  126        return convertValue<T>(value(property));
 
  129    template <
typename T>
 
  130    [[nodiscard]] 
inline std::vector<T> values(
P property)
 const 
  132        const auto vals = values(property);
 
  134        v.reserve(vals.size());
 
  135        std::transform(vals.begin(), vals.end(), std::back_inserter(v), [](
const QVariant &value) { return convertValue<T>(value); });
 
  140    [[nodiscard]] std::vector<QVariant> values(
P property) 
const;
 
  141    [[nodiscard]] 
QVariant value(
P property) 
const;
 
  143    template <
typename T>
 
  144    [[nodiscard]] 
static inline T convertValue(
const QVariant &v)
 
 
  171    [[nodiscard]] 
QString name() 
const;
 
  172    [[nodiscard]] uint64_t fileSize() 
const;
 
  173    [[nodiscard]] uint32_t width() 
const;
 
  174    [[nodiscard]] uint32_t height() 
const;
 
  175    [[nodiscard]] 
QString mimeType() 
const;
 
  176    [[nodiscard]] 
QString license() 
const;
 
 
  188template <
typename T, 
char Prefix>
 
  189inline QDebug operator<<(
QDebug debug, Wikidata::Identifier<T, Prefix> 
id)
 
  199struct std::hash<Wikidata::P>
 
  201    std::size_t operator()(Wikidata::P 
id) 
const noexcept 
  203        return std::hash<uint64_t>{}(
id.m_id);
 
  207struct std::hash<Wikidata::Q>
 
  209    std::size_t operator()(Wikidata::Q 
id) 
const noexcept 
  211        return std::hash<uint64_t>{}(
id.m_id);
 
Wikidata property identifier.
 
Wikidata item identifier.
 
QString toString() const const
 
QString number(double n, char format, int precision)
 
QString toString() const const
 
  
 
  This file is part of the KDE documentation.
  Documentation copyright © 1996-2025 The KDE developers.
  Generated on Fri May 2 2025 12:04:00 by
  
doxygen 1.13.2 written
  by 
Dimitri van Heesch, © 1997-2006
  
  KDE's Doxygen guidelines are available online.