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
20public:
21 // prevent constructor by default
22 PackIdVersion();
23
24#else // LL_PLAT_C
25public:
26 // prevent constructor by default
27 PackIdVersion& operator=(PackIdVersion const&);
28 PackIdVersion();
29
30#endif
31public:
32 // member functions
33 // NOLINTBEGIN
34#ifdef LL_PLAT_C
35 MCAPI PackIdVersion(::PackIdVersion const&);
36#endif
37
38 MCAPI PackIdVersion(::mce::UUID const& id, ::SemVersion const& version, ::PackType packType);
39
40 MCAPI ::std::string asString() const;
41
42 MCAPI bool operator==(::PackIdVersion const& rhs) const;
43 // NOLINTEND
44
45public:
46 // static functions
47 // NOLINTBEGIN
48 MCAPI static ::PackIdVersion fromString(::std::string const& inputStr);
49 // NOLINTEND
50
51public:
52 // static variables
53 // NOLINTBEGIN
54 MCAPI static ::PackIdVersion& EMPTY();
55 // NOLINTEND
56
57public:
58 // constructor thunks
59 // NOLINTBEGIN
60#ifdef LL_PLAT_C
61 MCAPI void* $ctor(::PackIdVersion const&);
62#endif
63
64 MCAPI void* $ctor(::mce::UUID const& id, ::SemVersion const& version, ::PackType packType);
65 // NOLINTEND
66};
67
68namespace std {
69template <>
70struct hash<::PackIdVersion> {
71 size_t operator()(const ::PackIdVersion& packIdVersion) const {
72 return std::hash<std::string>()(packIdVersion.mId->asString() + packIdVersion.mVersion->asString());
73 }
74};
75} // namespace std
Definition SemVersion.h:15
Definition UUID.h:7
STL namespace.
Definition PackIdVersion.h:10