Botcraft 26.2
Loading...
Searching...
No Matches
NBT.hpp
Go to the documentation of this file.
1#pragma once
4
5namespace ProtocolCraft
6{
7 namespace NBT
8 {
9 class Value;
10
11 class UnnamedValue : public Tag
12 {
13 public:
15 UnnamedValue(const Value& named);
16 UnnamedValue(Value&& named);
17 virtual ~UnnamedValue() override;
18
19 protected:
20 virtual void ReadImpl(ReadIterator& iter, size_t& length) override;
21 virtual void WriteImpl(WriteContainer& container) const override;
22 };
23
24#if PROTOCOL_VERSION > 770 /* > 1.21.5 */
25 class UntrustedValue : public Tag
26 {
27 public:
29 UntrustedValue(const Value& named);
30 UntrustedValue(Value&& named);
31 virtual ~UntrustedValue() override;
32
33 protected:
34 virtual void ReadImpl(ReadIterator& iter, size_t& length) override;
35 virtual void WriteImpl(WriteContainer& container) const override;
36 };
37#endif
38
39 class Value : public Tag
40 {
41 public:
42 Value();
43 Value(const UnnamedValue& unnamed);
44 Value(UnnamedValue&& unnamed);
45#if PROTOCOL_VERSION > 770 /* > 1.21.5 */
46 Value(const UntrustedValue& untrusted);
47 Value(UntrustedValue&& untrusted);
48#endif
49
50 virtual ~Value() override;
51
52 bool HasData() const;
53
54 friend std::istream& operator>>(std::istream& is, Value& v);
55 protected:
56 virtual void ReadImpl(ReadIterator& iter, size_t& length) override;
57 };
58 }
59}
bool is() const
Definition Tag.hpp:173
virtual ~UnnamedValue() override
Definition NBT.cpp:27
virtual void WriteImpl(WriteContainer &container) const override
Definition NBT.cpp:37
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
Definition NBT.cpp:32
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
Definition NBT.cpp:64
virtual ~UntrustedValue() override
Definition NBT.cpp:59
virtual void WriteImpl(WriteContainer &container) const override
Definition NBT.cpp:71
virtual ~Value() override
Definition NBT.cpp:109
friend std::istream & operator>>(std::istream &is, Value &v)
Definition NBT.cpp:119
bool HasData() const
Definition NBT.cpp:114
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
Definition NBT.cpp:134
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator