LeviLamina
Loading...
Searching...
No Matches
StringTag.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
9class StringTag : public ::Tag, public std::string {
10public:
11 using Tag::operator==;
12
13 [[nodiscard]] constexpr StringTag() = default;
14
15 [[nodiscard]] constexpr StringTag(std::string str) : std::string(std::move(str)) {}
16 [[nodiscard]] constexpr StringTag(std::string_view str) : std::string(str) {}
17 template <size_t N>
18 [[nodiscard]] constexpr StringTag(char const (&str)[N]) : std::string(str) {}
19
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 // vIndex: 2
24 virtual void write(::IDataOutput& dos) const /*override*/;
25
26 // vIndex: 3
27 virtual ::Bedrock::Result<void> load(::IDataInput& dis) /*override*/;
28
29 // vIndex: 5
30 virtual ::Tag::Type getId() const /*override*/;
31
32 // vIndex: 4
33 virtual ::std::string toString() const /*override*/;
34
35 // vIndex: 9
36 virtual ::std::unique_ptr<::Tag> copy() const /*override*/;
37
38 // vIndex: 6
39 virtual bool equals(::Tag const& rhs) const /*override*/;
40
41 // vIndex: 10
42 virtual uint64 hash() const /*override*/;
43
44 // vIndex: 0
45 virtual ~StringTag() /*override*/ = default;
46 // NOLINTEND
47
48public:
49 // constructor thunks
50 // NOLINTBEGIN
51 MCAPI void* $ctor(::std::string data);
52 // NOLINTEND
53
54public:
55 // destructor thunk
56 // NOLINTBEGIN
57 MCAPI void $dtor();
58 // NOLINTEND
59
60public:
61 // virtual function thunks
62 // NOLINTBEGIN
63 MCAPI void $write(::IDataOutput& dos) const;
64
65 MCAPI ::Bedrock::Result<void> $load(::IDataInput& dis);
66
67 MCFOLD ::Tag::Type $getId() const;
68
69 MCAPI ::std::string $toString() const;
70
71 MCAPI ::std::unique_ptr<::Tag> $copy() const;
72
73 MCAPI bool $equals(::Tag const& rhs) const;
74
75 MCFOLD uint64 $hash() const;
76 // NOLINTEND
77
78public:
79 // vftables
80 // NOLINTBEGIN
81 MCAPI static void** $vftable();
82 // NOLINTEND
83};
84namespace ll::inline literals::inline nbt_literals {
85[[nodiscard]] inline StringTag operator""_tag(char const* x, size_t len) { return StringTag(std::string{x, len}); }
86} // namespace ll::inline literals::inline nbt_literals
Definition IDataInput.h:8
Definition IDataOutput.h:5
Definition StringTag.h:9
Definition Tag.h:39