LeviLamina
Loading...
Searching...
No Matches
IntTag.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/nbt/Tag.h"
7#include "mc/platform/Result.h"
8
9// auto generated forward declare list
10// clang-format off
11class IDataInput;
12class IDataOutput;
13// clang-format on
14
15class IntTag : public ::Tag {
16public:
17 int data;
18
19 template <std::integral T>
20 constexpr IntTag& operator=(int value) noexcept {
21 data = (int)value;
22 return *this;
23 }
24
25 template <std::integral T>
26 [[nodiscard]] constexpr operator T() const noexcept {
27 return (T)data;
28 }
29
30 template <std::integral T>
31 [[nodiscard]] constexpr explicit IntTag(T value = 0) noexcept : data((int)value) {}
32
33 [[nodiscard]] IntTag operator-() const noexcept { return IntTag{-data}; }
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual void write(::IDataOutput& dos) const /*override*/;
39
40 virtual ::Bedrock::Result<void> load(::IDataInput& dis) /*override*/;
41
42 virtual ::Tag::Type getId() const /*override*/;
43
44 virtual ::std::string toString() const /*override*/;
45
46 virtual ::std::unique_ptr<::Tag> copy() const /*override*/;
47
48 virtual bool equals(::Tag const& rhs) const /*override*/;
49
50 virtual uint64 hash() const /*override*/;
51
52 virtual ~IntTag() /*override*/ = default;
53 // NOLINTEND
54
55public:
56 // destructor thunk
57 // NOLINTBEGIN
58 MCFOLD void $dtor();
59 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCAPI void $write(::IDataOutput& dos) const;
65
66 MCAPI ::Bedrock::Result<void> $load(::IDataInput& dis);
67
68 MCFOLD ::Tag::Type $getId() const;
69
70 MCAPI ::std::string $toString() const;
71
72 MCAPI ::std::unique_ptr<::Tag> $copy() const;
73
74 MCAPI bool $equals(::Tag const& rhs) const;
75
76 MCAPI uint64 $hash() const;
77
78
79 // NOLINTEND
80
81public:
82 // vftables
83 // NOLINTBEGIN
84 MCNAPI static void** $vftable();
85 // NOLINTEND
86};
87namespace ll::inline literals::inline nbt_literals {
88[[nodiscard]] inline IntTag operator""_i(uint64 num) noexcept { return IntTag{(int)num}; }
89} // namespace ll::inline literals::inline nbt_literals
Definition IDataInput.h:8
Definition IDataOutput.h:5
Definition IntTag.h:15
static MCAPI void ** $vftable()