LeviLamina
Loading...
Searching...
No Matches
PackIdVersion.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/PackType.h"
7#include "mc/deps/core/sem_ver/SemVersion.h"
8#include "mc/platform/UUID.h"
9
10struct PackIdVersion {
11public:
12 // member variables
13 // NOLINTBEGIN
14 ::ll::TypedStorage<8, 16, ::mce::UUID> mId;
15 ::ll::TypedStorage<8, 24, ::SemVersion> mVersion;
16 ::ll::TypedStorage<1, 1, ::PackType> mPackType;
17 // NOLINTEND
18
19#ifdef LL_PLAT_S
20#else // LL_PLAT_C
21public:
22 // prevent constructor by default
23 PackIdVersion& operator=(PackIdVersion const&);
24
25#endif
26public:
27 bool operator==(PackIdVersion const& rhs) const { return *mId == *rhs.mId && *mVersion == *rhs.mVersion; }
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI PackIdVersion();
33
34#ifdef LL_PLAT_C
35 MCAPI PackIdVersion(::PackIdVersion const&);
36#endif
37
38 MCAPI PackIdVersion(::std::string const& id, ::std::string const& version, ::PackType packType);
39
40 MCAPI PackIdVersion(::mce::UUID const& id, ::SemVersion const& version, ::PackType packType);
41
42 MCAPI ::std::string asString() const;
43
44 MCAPI bool operator!=(::PackIdVersion const& rhs) const;
45
46 MCAPI bool operator<(::PackIdVersion const& rhs) const;
47
48 MCAPI bool satisfies(::PackIdVersion const& rhs) const;
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static ::PackIdVersion fromString(::std::string const& inputStr);
55 // NOLINTEND
56
57public:
58 // static variables
59 // NOLINTBEGIN
60 MCAPI static ::PackIdVersion& EMPTY();
61 // NOLINTEND
62
63public:
64 // constructor thunks
65 // NOLINTBEGIN
66 MCAPI void* $ctor();
67
68#ifdef LL_PLAT_C
69 MCAPI void* $ctor(::PackIdVersion const&);
70#endif
71
72 MCAPI void* $ctor(::std::string const& id, ::std::string const& version, ::PackType packType);
73
74 MCAPI void* $ctor(::mce::UUID const& id, ::SemVersion const& version, ::PackType packType);
75 // NOLINTEND
76};
77
78namespace std {
79template <>
80struct hash<::PackIdVersion> {
81 size_t operator()(const ::PackIdVersion& packIdVersion) const {
82 return std::hash<std::string>()(packIdVersion.mId->asString() + packIdVersion.mVersion->asString());
83 }
84};
85} // namespace std
Definition SemVersion.h:15
Definition UUID.h:7
STL namespace.
Definition PackIdVersion.h:10