chenjunfu2-nbt-cpp v2.1.0
一个基于CPP20的NBT(Named Binary Tag)库
载入中...
搜索中...
未找到
NBT_Node_View< bIsConst > 模板类 参考

NBT节点的视图,用于指向而不持有对象,类似于标准库的std::string与std::string_view的关系 更多...

#include <NBT_Node_View.hpp>

Public 成员函数

template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> &&NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
 NBT_Node_View (T &value)
 通用构造函数(仅适用于非const)
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
 NBT_Node_View (const T &value)
 通用构造函数(仅适用于const)
 NBT_Node_View (NBT_Node &node)
 从NBT_Node构造视图(仅适用于非const)
template<typename = void>
requires (bIsConst)
 NBT_Node_View (const NBT_Node &node)
 从NBT_Node构造视图(仅适用于const)
template<typename = void>
requires (bIsConst)
 NBT_Node_View (const NBT_Node_View< false > &_Other)
 从非const视图隐式构造const视图
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
 NBT_Node_View (T &&_Temp)=delete
 删除临时对象构造方式,防止从临时对象构造导致悬空指针
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
T & Set (T &value)
 通用设置函数(仅适用于非const)
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
const T & Set (const T &value)
 通用设置函数(仅适用于const)
template<typename = void>
requires (!bIsConst)
NBT_NodeSet (NBT_Node &node)
 从NBT_Node重设视图(仅适用于非const)
template<typename = void>
requires (bIsConst)
const NBT_NodeSet (const NBT_Node &node)
 从NBT_Node重设视图(仅适用于const)
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
T & Set (T &&_Temp)=delete
 删除临时对象设置方式,防止从临时对象构造导致悬空指针
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
NBT_Node_Viewoperator= (T &value)
 通用赋值设置函数(仅适用于非const)
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
NBT_Node_Viewoperator= (const T &value)
 通用赋值设置函数(仅适用于const)
template<typename = void>
requires (!bIsConst)
NBT_Node_Viewoperator= (NBT_Node &node)
 从NBT_Node赋值重设视图(仅适用于非const)
template<typename = void>
requires (bIsConst)
NBT_Node_Viewoperator= (const NBT_Node &node)
 从NBT_Node赋值重设视图(仅适用于const)
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
NBT_Node_Viewoperator= (T &&_Temp)=delete
 删除临时对象赋值设置方式,防止从临时对象构造导致悬空指针
 NBT_Node_View ()
 默认构造函数
 ~NBT_Node_View ()=default
 默认析构函数
 NBT_Node_View (const NBT_Node_View &_Copy)
 拷贝构造函数
 NBT_Node_View (NBT_Node_View &&_Move) noexcept
 移动构造函数
NBT_Node_Viewoperator= (const NBT_Node_View &_Copy)
 拷贝赋值运算符
NBT_Node_Viewoperator= (NBT_Node_View &&_Move) noexcept
 移动赋值运算符
bool operator== (const NBT_Node_View &_Right) const noexcept
 相等比较运算符
bool operator!= (const NBT_Node_View &_Right) const noexcept
 不等比较运算符
std::partial_ordering operator<=> (const NBT_Node_View &_Right) const noexcept
 三路比较运算符
NBT_TAG GetTag () const noexcept
 获取当前视图指向的NBT类型的枚举值
template<typename T>
const T & Get () const
 通过指定类型获取当前视图指向的数据对象
template<typename T>
requires (!bIsConst)
T & Get ()
 通过指定类型获取当前视图指向的数据对象(仅适用于非const视图)
template<typename T>
bool TypeHolds () const
 类型判断
bool IsEmpty () const
 为空判断
void SetEmpty ()
 设置为空

静态 Public 属性

static constexpr bool is_const = bIsConst
 静态常量,表示当前视图指向的数据是否只读

针对每种类型提供一个方便使用的函数,由宏批量生成

具体作用说明:

  • Set开头+类型名的函数:设置node为此类型,从值或默认值设置
std::conditional_t< bIsConst, const NBT_Type::End &, NBT_Type::End & > GetEnd (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 End 类型的数据
std::conditional_t< bIsConst, const NBT_Type::End &, NBT_Type::End & > & GetEnd (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 End 类型的数据
bool IsEnd (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 End 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Byte &, NBT_Type::Byte & > GetByte (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Byte 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Byte &, NBT_Type::Byte & > & GetByte (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Byte 类型的数据
bool IsByte (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Byte 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Short &, NBT_Type::Short & > GetShort (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Short 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Short &, NBT_Type::Short & > & GetShort (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Short 类型的数据
bool IsShort (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Short 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Int &, NBT_Type::Int & > GetInt (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Int 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Int &, NBT_Type::Int & > & GetInt (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Int 类型的数据
bool IsInt (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Int 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Long &, NBT_Type::Long & > GetLong (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Long 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Long &, NBT_Type::Long & > & GetLong (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Long 类型的数据
bool IsLong (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Long 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Float &, NBT_Type::Float & > GetFloat (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Float 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Float &, NBT_Type::Float & > & GetFloat (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Float 类型的数据
bool IsFloat (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Float 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Double &, NBT_Type::Double & > GetDouble (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Double 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Double &, NBT_Type::Double & > & GetDouble (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Double 类型的数据
bool IsDouble (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Double 类型的数据
std::conditional_t< bIsConst, const NBT_Type::ByteArray &, NBT_Type::ByteArray & > GetByteArray (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 ByteArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::ByteArray &, NBT_Type::ByteArray & > & GetByteArray (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 ByteArray 类型的数据
bool IsByteArray (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 ByteArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::IntArray &, NBT_Type::IntArray & > GetIntArray (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 IntArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::IntArray &, NBT_Type::IntArray & > & GetIntArray (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 IntArray 类型的数据
bool IsIntArray (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 IntArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::LongArray &, NBT_Type::LongArray & > GetLongArray (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 LongArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::LongArray &, NBT_Type::LongArray & > & GetLongArray (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 LongArray 类型的数据
bool IsLongArray (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 LongArray 类型的数据
std::conditional_t< bIsConst, const NBT_Type::String &, NBT_Type::String & > GetString (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 String 类型的数据
std::conditional_t< bIsConst, const NBT_Type::String &, NBT_Type::String & > & GetString (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 String 类型的数据
bool IsString (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 String 类型的数据
std::conditional_t< bIsConst, const NBT_Type::List &, NBT_Type::List & > GetList (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 List 类型的数据
std::conditional_t< bIsConst, const NBT_Type::List &, NBT_Type::List & > & GetList (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 List 类型的数据
bool IsList (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 List 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Compound &, NBT_Type::Compound & > GetCompound (NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Compound 类型的数据
std::conditional_t< bIsConst, const NBT_Type::Compound &, NBT_Type::Compound & > & GetCompound (const NBT_Node_View &node)
 友元函数:从NBT_Node_View对象中获取 Compound 类型的数据
bool IsCompound (const NBT_Node_View &node)
 友元函数:检查目标对象中是否指向 Compound 类型的数据
const NBT_Type::EndGetEnd () const
 获取当前视图指向的 End 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::EndGetEnd ()
 获取当前视图指向的 End 类型的数据(仅适用于非const视图)
bool IsEnd () const
 检查当前视图是否指向 End 类型的数据
const NBT_Type::ByteGetByte () const
 获取当前视图指向的 Byte 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteGetByte ()
 获取当前视图指向的 Byte 类型的数据(仅适用于非const视图)
bool IsByte () const
 检查当前视图是否指向 Byte 类型的数据
const NBT_Type::ShortGetShort () const
 获取当前视图指向的 Short 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::ShortGetShort ()
 获取当前视图指向的 Short 类型的数据(仅适用于非const视图)
bool IsShort () const
 检查当前视图是否指向 Short 类型的数据
const NBT_Type::IntGetInt () const
 获取当前视图指向的 Int 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::IntGetInt ()
 获取当前视图指向的 Int 类型的数据(仅适用于非const视图)
bool IsInt () const
 检查当前视图是否指向 Int 类型的数据
const NBT_Type::LongGetLong () const
 获取当前视图指向的 Long 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::LongGetLong ()
 获取当前视图指向的 Long 类型的数据(仅适用于非const视图)
bool IsLong () const
 检查当前视图是否指向 Long 类型的数据
const NBT_Type::FloatGetFloat () const
 获取当前视图指向的 Float 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::FloatGetFloat ()
 获取当前视图指向的 Float 类型的数据(仅适用于非const视图)
bool IsFloat () const
 检查当前视图是否指向 Float 类型的数据
const NBT_Type::DoubleGetDouble () const
 获取当前视图指向的 Double 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::DoubleGetDouble ()
 获取当前视图指向的 Double 类型的数据(仅适用于非const视图)
bool IsDouble () const
 检查当前视图是否指向 Double 类型的数据
const NBT_Type::ByteArrayGetByteArray () const
 获取当前视图指向的 ByteArray 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteArrayGetByteArray ()
 获取当前视图指向的 ByteArray 类型的数据(仅适用于非const视图)
bool IsByteArray () const
 检查当前视图是否指向 ByteArray 类型的数据
const NBT_Type::IntArrayGetIntArray () const
 获取当前视图指向的 IntArray 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::IntArrayGetIntArray ()
 获取当前视图指向的 IntArray 类型的数据(仅适用于非const视图)
bool IsIntArray () const
 检查当前视图是否指向 IntArray 类型的数据
const NBT_Type::LongArrayGetLongArray () const
 获取当前视图指向的 LongArray 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::LongArrayGetLongArray ()
 获取当前视图指向的 LongArray 类型的数据(仅适用于非const视图)
bool IsLongArray () const
 检查当前视图是否指向 LongArray 类型的数据
const NBT_Type::StringGetString () const
 获取当前视图指向的 String 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::StringGetString ()
 获取当前视图指向的 String 类型的数据(仅适用于非const视图)
bool IsString () const
 检查当前视图是否指向 String 类型的数据
const NBT_Type::ListGetList () const
 获取当前视图指向的 List 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::ListGetList ()
 获取当前视图指向的 List 类型的数据(仅适用于非const视图)
bool IsList () const
 检查当前视图是否指向 List 类型的数据
const NBT_Type::CompoundGetCompound () const
 获取当前视图指向的 Compound 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::CompoundGetCompound ()
 获取当前视图指向的 Compound 类型的数据(仅适用于非const视图)
bool IsCompound () const
 检查当前视图是否指向 Compound 类型的数据
template<typename = void>
requires (!bIsConst)
NBT_Type::EndSetEnd (NBT_Type::End &value)
 从value设置 End 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::EndSetEnd (const NBT_Type::End &value)
 从value设置 End 类型的视图(const)
NBT_Type::EndSetEnd (NBT_Type::End &&_Temp)=delete
 删除从临时对象设置 End 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteSetByte (NBT_Type::Byte &value)
 从value设置 Byte 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::ByteSetByte (const NBT_Type::Byte &value)
 从value设置 Byte 类型的视图(const)
NBT_Type::ByteSetByte (NBT_Type::Byte &&_Temp)=delete
 删除从临时对象设置 Byte 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::ShortSetShort (NBT_Type::Short &value)
 从value设置 Short 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::ShortSetShort (const NBT_Type::Short &value)
 从value设置 Short 类型的视图(const)
NBT_Type::ShortSetShort (NBT_Type::Short &&_Temp)=delete
 删除从临时对象设置 Short 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::IntSetInt (NBT_Type::Int &value)
 从value设置 Int 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::IntSetInt (const NBT_Type::Int &value)
 从value设置 Int 类型的视图(const)
NBT_Type::IntSetInt (NBT_Type::Int &&_Temp)=delete
 删除从临时对象设置 Int 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::LongSetLong (NBT_Type::Long &value)
 从value设置 Long 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::LongSetLong (const NBT_Type::Long &value)
 从value设置 Long 类型的视图(const)
NBT_Type::LongSetLong (NBT_Type::Long &&_Temp)=delete
 删除从临时对象设置 Long 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::FloatSetFloat (NBT_Type::Float &value)
 从value设置 Float 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::FloatSetFloat (const NBT_Type::Float &value)
 从value设置 Float 类型的视图(const)
NBT_Type::FloatSetFloat (NBT_Type::Float &&_Temp)=delete
 删除从临时对象设置 Float 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::DoubleSetDouble (NBT_Type::Double &value)
 从value设置 Double 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::DoubleSetDouble (const NBT_Type::Double &value)
 从value设置 Double 类型的视图(const)
NBT_Type::DoubleSetDouble (NBT_Type::Double &&_Temp)=delete
 删除从临时对象设置 Double 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteArraySetByteArray (NBT_Type::ByteArray &value)
 从value设置 ByteArray 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::ByteArraySetByteArray (const NBT_Type::ByteArray &value)
 从value设置 ByteArray 类型的视图(const)
NBT_Type::ByteArraySetByteArray (NBT_Type::ByteArray &&_Temp)=delete
 删除从临时对象设置 ByteArray 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::IntArraySetIntArray (NBT_Type::IntArray &value)
 从value设置 IntArray 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::IntArraySetIntArray (const NBT_Type::IntArray &value)
 从value设置 IntArray 类型的视图(const)
NBT_Type::IntArraySetIntArray (NBT_Type::IntArray &&_Temp)=delete
 删除从临时对象设置 IntArray 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::LongArraySetLongArray (NBT_Type::LongArray &value)
 从value设置 LongArray 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::LongArraySetLongArray (const NBT_Type::LongArray &value)
 从value设置 LongArray 类型的视图(const)
NBT_Type::LongArraySetLongArray (NBT_Type::LongArray &&_Temp)=delete
 删除从临时对象设置 LongArray 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::StringSetString (NBT_Type::String &value)
 从value设置 String 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::StringSetString (const NBT_Type::String &value)
 从value设置 String 类型的视图(const)
NBT_Type::StringSetString (NBT_Type::String &&_Temp)=delete
 删除从临时对象设置 String 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::ListSetList (NBT_Type::List &value)
 从value设置 List 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::ListSetList (const NBT_Type::List &value)
 从value设置 List 类型的视图(const)
NBT_Type::ListSetList (NBT_Type::List &&_Temp)=delete
 删除从临时对象设置 List 类型的视图,,防止从临时对象构造导致悬空指针
template<typename = void>
requires (!bIsConst)
NBT_Type::CompoundSetCompound (NBT_Type::Compound &value)
 从value设置 Compound 类型的视图(非const)
template<typename = void>
requires (bIsConst)
const NBT_Type::CompoundSetCompound (const NBT_Type::Compound &value)
 从value设置 Compound 类型的视图(const)
NBT_Type::CompoundSetCompound (NBT_Type::Compound &&_Temp)=delete
 删除从临时对象设置 Compound 类型的视图,,防止从临时对象构造导致悬空指针

详细描述

template<bool bIsConst>
class NBT_Node_View< bIsConst >

NBT节点的视图,用于指向而不持有对象,类似于标准库的std::string与std::string_view的关系

注解
该类使用std::variant变体来存储指向不同类型NBT数据的指针,提供类型安全的访问接口
警告
视图类不持有实际数据对象,只持有指向外部数据的指针,它也不会延长外部对象或临时对象的生命周期。如果外部数据被销毁后继续使用视图则行为未定义,用户需自行负责数据生命周期管理
模板参数
bIsConst模板参数,指定视图是否持有数据的const指针,为true则持有对象的const指针,为false持有对象的非const指针。 这里的模板值控制的状态与类是否为const类,类似于指向const对象的指针与指向对象的const指针的区别,模板控制的是指向的对象是否不可修改,而类是否const控制的是类是否能修改指向。
注解
与NBT_Node强制持有对象所有权不同,NBT_Node_View提供轻量级访问方式,适用于:
  • 函数参数传递:避免拷贝开销,或者移动的持有权转移,可以直接指向现有NBT数据对象本身
  • 临时数据访问:在明确数据生命周期时提供零拷贝访问
  • 统一接口处理:以变体方式兼容任意NBT类型,同时保持对原始数据的直接操作能力

构造及析构函数说明

◆ NBT_Node_View() [1/9]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> &&NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
NBT_Node_View< bIsConst >::NBT_Node_View ( T & value)
inline

通用构造函数(仅适用于非const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
传入的对象必须在使用期间保持有效,否则行为未定义

◆ NBT_Node_View() [2/9]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
NBT_Node_View< bIsConst >::NBT_Node_View ( const T & value)
inline

通用构造函数(仅适用于const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的常量引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
警告
传入的对象必须在使用期间保持有效,否则行为未定义

◆ NBT_Node_View() [3/9]

template<bool bIsConst>
NBT_Node_View< bIsConst >::NBT_Node_View ( NBT_Node & node)
inline

从NBT_Node构造视图(仅适用于非const)

参数
node要创建视图的NBT_Node对象
注解
创建指向NBT_Node内部数据的视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ NBT_Node_View() [4/9]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
NBT_Node_View< bIsConst >::NBT_Node_View ( const NBT_Node & node)
inline

从NBT_Node构造视图(仅适用于const)

参数
node要创建视图的NBT_Node对象
注解
创建指向NBT_Node内部数据的只读视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ NBT_Node_View() [5/9]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
NBT_Node_View< bIsConst >::NBT_Node_View ( const NBT_Node_View< false > & _Other)
inline

从非const视图隐式构造const视图

模板参数
void占位模板参数
参数
_Other用于构造的非const视图对象
注解
从NBT_Node_View<false>隐式构造为NBT_Node_View<true>

◆ NBT_Node_View() [6/9]

template<bool bIsConst>
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
NBT_Node_View< bIsConst >::NBT_Node_View ( T && _Temp)
delete

删除临时对象构造方式,防止从临时对象构造导致悬空指针

模板参数
T临时对象的类型
参数
_Temp任意类型的临时对象
注解
这是一个删除的构造函数,用于一定程度上防御用户通过临时对象构造

◆ NBT_Node_View() [7/9]

template<bool bIsConst>
NBT_Node_View< bIsConst >::NBT_Node_View ( )
inline

默认构造函数

注解
构造为空View

◆ ~NBT_Node_View()

template<bool bIsConst>
NBT_Node_View< bIsConst >::~NBT_Node_View ( )
default

默认析构函数

注解
视图析构不会影响实际数据对象,只释放内部指针

◆ NBT_Node_View() [8/9]

template<bool bIsConst>
NBT_Node_View< bIsConst >::NBT_Node_View ( const NBT_Node_View< bIsConst > & _Copy)
inline

拷贝构造函数

参数
_Copy要拷贝的源视图对象
注解
拷贝构造会创建指向相同数据对象的新视图,这可以让多个视图指向同一段数据

◆ NBT_Node_View() [9/9]

template<bool bIsConst>
NBT_Node_View< bIsConst >::NBT_Node_View ( NBT_Node_View< bIsConst > && _Move)
inlinenoexcept

移动构造函数

参数
_Move要移动的源视图对象
注解
移动构造会转移指针,原视图将变为无效状态

成员函数说明

◆ Get() [1/2]

template<bool bIsConst>
template<typename T>
requires (!bIsConst)
T & NBT_Node_View< bIsConst >::Get ( )
inline

通过指定类型获取当前视图指向的数据对象(仅适用于非const视图)

模板参数
T要访问的数据类型
返回
对指向数据的引用
注解
如果类型不存在或当前存储的不是指定类型的指针,则抛出异常,具体请参考std::get的说明

◆ Get() [2/2]

template<bool bIsConst>
template<typename T>
const T & NBT_Node_View< bIsConst >::Get ( ) const
inline

通过指定类型获取当前视图指向的数据对象

模板参数
T要访问的数据类型
返回
对指向数据的常量引用
注解
如果类型不存在或当前存储的不是指定类型的指针,则抛出异常,具体请参考std::get的说明

◆ GetByte() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Byte & NBT_Node_View< bIsConst >::GetByte ( )
inline

获取当前视图指向的 Byte 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Byte 类型,则抛出异常,具体请参考std::get的说明

◆ GetByte() [2/2]

template<bool bIsConst>
const NBT_Type::Byte & NBT_Node_View< bIsConst >::GetByte ( ) const
inline

获取当前视图指向的 Byte 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Byte 类型,则抛出异常,具体请参考std::get的说明

◆ GetByteArray() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteArray & NBT_Node_View< bIsConst >::GetByteArray ( )
inline

获取当前视图指向的 ByteArray 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 ByteArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetByteArray() [2/2]

template<bool bIsConst>
const NBT_Type::ByteArray & NBT_Node_View< bIsConst >::GetByteArray ( ) const
inline

获取当前视图指向的 ByteArray 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 ByteArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetCompound() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Compound & NBT_Node_View< bIsConst >::GetCompound ( )
inline

获取当前视图指向的 Compound 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Compound 类型,则抛出异常,具体请参考std::get的说明

◆ GetCompound() [2/2]

template<bool bIsConst>
const NBT_Type::Compound & NBT_Node_View< bIsConst >::GetCompound ( ) const
inline

获取当前视图指向的 Compound 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Compound 类型,则抛出异常,具体请参考std::get的说明

◆ GetDouble() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Double & NBT_Node_View< bIsConst >::GetDouble ( )
inline

获取当前视图指向的 Double 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Double 类型,则抛出异常,具体请参考std::get的说明

◆ GetDouble() [2/2]

template<bool bIsConst>
const NBT_Type::Double & NBT_Node_View< bIsConst >::GetDouble ( ) const
inline

获取当前视图指向的 Double 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Double 类型,则抛出异常,具体请参考std::get的说明

◆ GetEnd() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::End & NBT_Node_View< bIsConst >::GetEnd ( )
inline

获取当前视图指向的 End 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 End 类型,则抛出异常,具体请参考std::get的说明

◆ GetEnd() [2/2]

template<bool bIsConst>
const NBT_Type::End & NBT_Node_View< bIsConst >::GetEnd ( ) const
inline

获取当前视图指向的 End 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 End 类型,则抛出异常,具体请参考std::get的说明

◆ GetFloat() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Float & NBT_Node_View< bIsConst >::GetFloat ( )
inline

获取当前视图指向的 Float 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Float 类型,则抛出异常,具体请参考std::get的说明

◆ GetFloat() [2/2]

template<bool bIsConst>
const NBT_Type::Float & NBT_Node_View< bIsConst >::GetFloat ( ) const
inline

获取当前视图指向的 Float 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Float 类型,则抛出异常,具体请参考std::get的说明

◆ GetInt() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Int & NBT_Node_View< bIsConst >::GetInt ( )
inline

获取当前视图指向的 Int 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Int 类型,则抛出异常,具体请参考std::get的说明

◆ GetInt() [2/2]

template<bool bIsConst>
const NBT_Type::Int & NBT_Node_View< bIsConst >::GetInt ( ) const
inline

获取当前视图指向的 Int 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Int 类型,则抛出异常,具体请参考std::get的说明

◆ GetIntArray() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::IntArray & NBT_Node_View< bIsConst >::GetIntArray ( )
inline

获取当前视图指向的 IntArray 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 IntArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetIntArray() [2/2]

template<bool bIsConst>
const NBT_Type::IntArray & NBT_Node_View< bIsConst >::GetIntArray ( ) const
inline

获取当前视图指向的 IntArray 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 IntArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetList() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::List & NBT_Node_View< bIsConst >::GetList ( )
inline

获取当前视图指向的 List 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 List 类型,则抛出异常,具体请参考std::get的说明

◆ GetList() [2/2]

template<bool bIsConst>
const NBT_Type::List & NBT_Node_View< bIsConst >::GetList ( ) const
inline

获取当前视图指向的 List 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 List 类型,则抛出异常,具体请参考std::get的说明

◆ GetLong() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Long & NBT_Node_View< bIsConst >::GetLong ( )
inline

获取当前视图指向的 Long 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Long 类型,则抛出异常,具体请参考std::get的说明

◆ GetLong() [2/2]

template<bool bIsConst>
const NBT_Type::Long & NBT_Node_View< bIsConst >::GetLong ( ) const
inline

获取当前视图指向的 Long 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Long 类型,则抛出异常,具体请参考std::get的说明

◆ GetLongArray() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::LongArray & NBT_Node_View< bIsConst >::GetLongArray ( )
inline

获取当前视图指向的 LongArray 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 LongArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetLongArray() [2/2]

template<bool bIsConst>
const NBT_Type::LongArray & NBT_Node_View< bIsConst >::GetLongArray ( ) const
inline

获取当前视图指向的 LongArray 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 LongArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetShort() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Short & NBT_Node_View< bIsConst >::GetShort ( )
inline

获取当前视图指向的 Short 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 Short 类型,则抛出异常,具体请参考std::get的说明

◆ GetShort() [2/2]

template<bool bIsConst>
const NBT_Type::Short & NBT_Node_View< bIsConst >::GetShort ( ) const
inline

获取当前视图指向的 Short 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 Short 类型,则抛出异常,具体请参考std::get的说明

◆ GetString() [1/2]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::String & NBT_Node_View< bIsConst >::GetString ( )
inline

获取当前视图指向的 String 类型的数据(仅适用于非const视图)

返回
对指定类型数据的引用
注解
如果类型不存在或当前指向的不是 String 类型,则抛出异常,具体请参考std::get的说明

◆ GetString() [2/2]

template<bool bIsConst>
const NBT_Type::String & NBT_Node_View< bIsConst >::GetString ( ) const
inline

获取当前视图指向的 String 类型的数据

返回
对指定类型数据的常量引用
注解
如果类型不存在或当前指向的不是 String 类型,则抛出异常,具体请参考std::get的说明

◆ GetTag()

template<bool bIsConst>
NBT_TAG NBT_Node_View< bIsConst >::GetTag ( ) const
inlinenoexcept

获取当前视图指向的NBT类型的枚举值

返回
NBT类型枚举值

◆ IsByte()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsByte ( ) const
inline

检查当前视图是否指向 Byte 类型的数据

返回
是否指向 Byte 类型

◆ IsByteArray()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsByteArray ( ) const
inline

检查当前视图是否指向 ByteArray 类型的数据

返回
是否指向 ByteArray 类型

◆ IsCompound()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsCompound ( ) const
inline

检查当前视图是否指向 Compound 类型的数据

返回
是否指向 Compound 类型

◆ IsDouble()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsDouble ( ) const
inline

检查当前视图是否指向 Double 类型的数据

返回
是否指向 Double 类型

◆ IsEmpty()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsEmpty ( ) const
inline

为空判断

返回
如果存储空值则返回true,否则返回false

◆ IsEnd()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsEnd ( ) const
inline

检查当前视图是否指向 End 类型的数据

返回
是否指向 End 类型

◆ IsFloat()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsFloat ( ) const
inline

检查当前视图是否指向 Float 类型的数据

返回
是否指向 Float 类型

◆ IsInt()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsInt ( ) const
inline

检查当前视图是否指向 Int 类型的数据

返回
是否指向 Int 类型

◆ IsIntArray()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsIntArray ( ) const
inline

检查当前视图是否指向 IntArray 类型的数据

返回
是否指向 IntArray 类型

◆ IsList()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsList ( ) const
inline

检查当前视图是否指向 List 类型的数据

返回
是否指向 List 类型

◆ IsLong()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsLong ( ) const
inline

检查当前视图是否指向 Long 类型的数据

返回
是否指向 Long 类型

◆ IsLongArray()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsLongArray ( ) const
inline

检查当前视图是否指向 LongArray 类型的数据

返回
是否指向 LongArray 类型

◆ IsShort()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsShort ( ) const
inline

检查当前视图是否指向 Short 类型的数据

返回
是否指向 Short 类型

◆ IsString()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::IsString ( ) const
inline

检查当前视图是否指向 String 类型的数据

返回
是否指向 String 类型

◆ operator!=()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::operator!= ( const NBT_Node_View< bIsConst > & _Right) const
inlinenoexcept

不等比较运算符

参数
_Right要比较的右操作数
返回
是否不相等
注解
比较两个视图指向的数据内容是否不相等,如果两个视图存储的类型不同则直接返回false, 否则会返回指向的对象的比较结果

◆ operator<=>()

template<bool bIsConst>
std::partial_ordering NBT_Node_View< bIsConst >::operator<=> ( const NBT_Node_View< bIsConst > & _Right) const
inlinenoexcept

三路比较运算符

参数
_Right要比较的右操作数
返回
比较结果,通过std::partial_ordering返回
注解
比较两个视图指向的数据内容,如果两个视图存储的类型不同则直接返回unordered, 否则会返回指向的对象的比较结果

◆ operator=() [1/7]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( const NBT_Node & node)
inline

从NBT_Node赋值重设视图(仅适用于const)

参数
node要创建视图的NBT_Node对象
返回
设置的值的常量引用
注解
创建指向NBT_Node内部数据的只读视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ operator=() [2/7]

template<bool bIsConst>
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( const NBT_Node_View< bIsConst > & _Copy)
inline

拷贝赋值运算符

参数
_Copy要拷贝的源视图对象
返回
当前视图对象指向的数据的引用
注解
赋值操作会使当前视图指向与源视图相同的数据对象,这可以让多个视图指向同一段数据

◆ operator=() [3/7]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( const T & value)
inline

通用赋值设置函数(仅适用于const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的常量引用
返回
设置的值的常量引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
警告
传入的对象必须在使用期间保持有效,否则行为未定义

◆ operator=() [4/7]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( NBT_Node & node)
inline

从NBT_Node赋值重设视图(仅适用于非const)

参数
node要创建视图的NBT_Node对象
返回
设置的值的引用
注解
创建指向NBT_Node内部数据的视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ operator=() [5/7]

template<bool bIsConst>
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( NBT_Node_View< bIsConst > && _Move)
inlinenoexcept

移动赋值运算符

参数
_Move要移动的源视图对象
返回
当前视图对象指向的数据的引用
注解
移动赋值会转移指针,原视图将变为无效状态

◆ operator=() [6/7]

template<bool bIsConst>
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( T && _Temp)
delete

删除临时对象赋值设置方式,防止从临时对象构造导致悬空指针

模板参数
T临时对象的类型
参数
_Temp任意类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ operator=() [7/7]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
NBT_Node_View & NBT_Node_View< bIsConst >::operator= ( T & value)
inline

通用赋值设置函数(仅适用于非const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的引用
返回
设置的值的引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
传入的对象必须在使用期间保持有效,否则行为未定义

◆ operator==()

template<bool bIsConst>
bool NBT_Node_View< bIsConst >::operator== ( const NBT_Node_View< bIsConst > & _Right) const
inlinenoexcept

相等比较运算符

参数
_Right要比较的右操作数
返回
是否相等
注解
比较两个视图指向的数据内容是否相等,如果两个视图存储的类型不同则直接返回false, 否则会返回指向的对象的比较结果

◆ Set() [1/5]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Node & NBT_Node_View< bIsConst >::Set ( const NBT_Node & node)
inline

从NBT_Node重设视图(仅适用于const)

参数
node要创建视图的NBT_Node对象
返回
设置的值的常量引用
注解
创建指向NBT_Node内部数据的只读视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ Set() [2/5]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && bIsConst)
const T & NBT_Node_View< bIsConst >::Set ( const T & value)
inline

通用设置函数(仅适用于const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的常量引用
返回
设置的值的常量引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
警告
传入的对象必须在使用期间保持有效,否则行为未定义

◆ Set() [3/5]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Node & NBT_Node_View< bIsConst >::Set ( NBT_Node & node)
inline

从NBT_Node重设视图(仅适用于非const)

参数
node要创建视图的NBT_Node对象
返回
设置的值的引用
注解
创建指向NBT_Node内部数据的视图
警告
传入的NBT_Node对象必须在使用期间保持有效,否则行为未定义

◆ Set() [4/5]

template<bool bIsConst>
template<typename T>
requires (!std::is_lvalue_reference_v<T>)
T & NBT_Node_View< bIsConst >::Set ( T && _Temp)
delete

删除临时对象设置方式,防止从临时对象构造导致悬空指针

模板参数
T临时对象的类型
参数
_Temp任意类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ Set() [5/5]

template<bool bIsConst>
template<typename T>
requires (!std::is_same_v<std::decay_t<T>, NBT_Node> && NBT_Type::IsValidType_V<std::decay_t<T>> && !bIsConst)
T & NBT_Node_View< bIsConst >::Set ( T & value)
inline

通用设置函数(仅适用于非const)

模板参数
T要指向的数据类型
参数
value要指向的数据对象的引用
返回
设置的值的引用
注解
要求类型T必须是NBT_Type类型列表中的任意一个,且不是NBT_Node类型
传入的对象必须在使用期间保持有效,否则行为未定义

◆ SetByte() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Byte & NBT_Node_View< bIsConst >::SetByte ( const NBT_Type::Byte & value)
inline

从value设置 Byte 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetByte() [2/3]

template<bool bIsConst>
NBT_Type::Byte & NBT_Node_View< bIsConst >::SetByte ( NBT_Type::Byte && _Temp)
delete

删除从临时对象设置 Byte 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempByte 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetByte() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Byte & NBT_Node_View< bIsConst >::SetByte ( NBT_Type::Byte & value)
inline

从value设置 Byte 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetByteArray() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::ByteArray & NBT_Node_View< bIsConst >::SetByteArray ( const NBT_Type::ByteArray & value)
inline

从value设置 ByteArray 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetByteArray() [2/3]

template<bool bIsConst>
NBT_Type::ByteArray & NBT_Node_View< bIsConst >::SetByteArray ( NBT_Type::ByteArray && _Temp)
delete

删除从临时对象设置 ByteArray 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempByteArray 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetByteArray() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::ByteArray & NBT_Node_View< bIsConst >::SetByteArray ( NBT_Type::ByteArray & value)
inline

从value设置 ByteArray 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetCompound() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Compound & NBT_Node_View< bIsConst >::SetCompound ( const NBT_Type::Compound & value)
inline

从value设置 Compound 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetCompound() [2/3]

template<bool bIsConst>
NBT_Type::Compound & NBT_Node_View< bIsConst >::SetCompound ( NBT_Type::Compound && _Temp)
delete

删除从临时对象设置 Compound 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempCompound 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetCompound() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Compound & NBT_Node_View< bIsConst >::SetCompound ( NBT_Type::Compound & value)
inline

从value设置 Compound 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetDouble() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Double & NBT_Node_View< bIsConst >::SetDouble ( const NBT_Type::Double & value)
inline

从value设置 Double 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetDouble() [2/3]

template<bool bIsConst>
NBT_Type::Double & NBT_Node_View< bIsConst >::SetDouble ( NBT_Type::Double && _Temp)
delete

删除从临时对象设置 Double 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempDouble 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetDouble() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Double & NBT_Node_View< bIsConst >::SetDouble ( NBT_Type::Double & value)
inline

从value设置 Double 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetEnd() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::End & NBT_Node_View< bIsConst >::SetEnd ( const NBT_Type::End & value)
inline

从value设置 End 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetEnd() [2/3]

template<bool bIsConst>
NBT_Type::End & NBT_Node_View< bIsConst >::SetEnd ( NBT_Type::End && _Temp)
delete

删除从临时对象设置 End 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempEnd 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetEnd() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::End & NBT_Node_View< bIsConst >::SetEnd ( NBT_Type::End & value)
inline

从value设置 End 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetFloat() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Float & NBT_Node_View< bIsConst >::SetFloat ( const NBT_Type::Float & value)
inline

从value设置 Float 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetFloat() [2/3]

template<bool bIsConst>
NBT_Type::Float & NBT_Node_View< bIsConst >::SetFloat ( NBT_Type::Float && _Temp)
delete

删除从临时对象设置 Float 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempFloat 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetFloat() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Float & NBT_Node_View< bIsConst >::SetFloat ( NBT_Type::Float & value)
inline

从value设置 Float 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetInt() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Int & NBT_Node_View< bIsConst >::SetInt ( const NBT_Type::Int & value)
inline

从value设置 Int 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetInt() [2/3]

template<bool bIsConst>
NBT_Type::Int & NBT_Node_View< bIsConst >::SetInt ( NBT_Type::Int && _Temp)
delete

删除从临时对象设置 Int 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempInt 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetInt() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Int & NBT_Node_View< bIsConst >::SetInt ( NBT_Type::Int & value)
inline

从value设置 Int 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetIntArray() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::IntArray & NBT_Node_View< bIsConst >::SetIntArray ( const NBT_Type::IntArray & value)
inline

从value设置 IntArray 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetIntArray() [2/3]

template<bool bIsConst>
NBT_Type::IntArray & NBT_Node_View< bIsConst >::SetIntArray ( NBT_Type::IntArray && _Temp)
delete

删除从临时对象设置 IntArray 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempIntArray 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetIntArray() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::IntArray & NBT_Node_View< bIsConst >::SetIntArray ( NBT_Type::IntArray & value)
inline

从value设置 IntArray 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetList() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::List & NBT_Node_View< bIsConst >::SetList ( const NBT_Type::List & value)
inline

从value设置 List 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetList() [2/3]

template<bool bIsConst>
NBT_Type::List & NBT_Node_View< bIsConst >::SetList ( NBT_Type::List && _Temp)
delete

删除从临时对象设置 List 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempList 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetList() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::List & NBT_Node_View< bIsConst >::SetList ( NBT_Type::List & value)
inline

从value设置 List 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetLong() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Long & NBT_Node_View< bIsConst >::SetLong ( const NBT_Type::Long & value)
inline

从value设置 Long 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetLong() [2/3]

template<bool bIsConst>
NBT_Type::Long & NBT_Node_View< bIsConst >::SetLong ( NBT_Type::Long && _Temp)
delete

删除从临时对象设置 Long 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempLong 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetLong() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Long & NBT_Node_View< bIsConst >::SetLong ( NBT_Type::Long & value)
inline

从value设置 Long 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetLongArray() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::LongArray & NBT_Node_View< bIsConst >::SetLongArray ( const NBT_Type::LongArray & value)
inline

从value设置 LongArray 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetLongArray() [2/3]

template<bool bIsConst>
NBT_Type::LongArray & NBT_Node_View< bIsConst >::SetLongArray ( NBT_Type::LongArray && _Temp)
delete

删除从临时对象设置 LongArray 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempLongArray 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetLongArray() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::LongArray & NBT_Node_View< bIsConst >::SetLongArray ( NBT_Type::LongArray & value)
inline

从value设置 LongArray 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetShort() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::Short & NBT_Node_View< bIsConst >::SetShort ( const NBT_Type::Short & value)
inline

从value设置 Short 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetShort() [2/3]

template<bool bIsConst>
NBT_Type::Short & NBT_Node_View< bIsConst >::SetShort ( NBT_Type::Short && _Temp)
delete

删除从临时对象设置 Short 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempShort 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetShort() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::Short & NBT_Node_View< bIsConst >::SetShort ( NBT_Type::Short & value)
inline

从value设置 Short 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ SetString() [1/3]

template<bool bIsConst>
template<typename = void>
requires (bIsConst)
const NBT_Type::String & NBT_Node_View< bIsConst >::SetString ( const NBT_Type::String & value)
inline

从value设置 String 类型的视图(const)

参数
value要设置的值的常量引用
返回
设置的值的引用

◆ SetString() [2/3]

template<bool bIsConst>
NBT_Type::String & NBT_Node_View< bIsConst >::SetString ( NBT_Type::String && _Temp)
delete

删除从临时对象设置 String 类型的视图,,防止从临时对象构造导致悬空指针

参数
_TempString 类型的临时对象
注解
这是一个删除的设置函数,用于一定程度上防御用户通过临时对象构造

◆ SetString() [3/3]

template<bool bIsConst>
template<typename = void>
requires (!bIsConst)
NBT_Type::String & NBT_Node_View< bIsConst >::SetString ( NBT_Type::String & value)
inline

从value设置 String 类型的视图(非const)

参数
value要设置的值的引用
返回
设置的值的引用

◆ TypeHolds()

template<bool bIsConst>
template<typename T>
bool NBT_Node_View< bIsConst >::TypeHolds ( ) const
inline

类型判断

模板参数
T要判断的数据类型
返回
当前视图是否指向指定类型的数据

◆ GetByte [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Byte &, NBT_Type::Byte & > & GetByte ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Byte 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Byte 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Byte 类型,则抛出异常,具体请参考std::get的说明

◆ GetByte [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Byte &, NBT_Type::Byte & > GetByte ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Byte 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Byte 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Byte 类型,则抛出异常,具体请参考std::get的说明

◆ GetByteArray [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::ByteArray &, NBT_Type::ByteArray & > & GetByteArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 ByteArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 ByteArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 ByteArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetByteArray [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::ByteArray &, NBT_Type::ByteArray & > GetByteArray ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 ByteArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 ByteArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 ByteArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetCompound [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Compound &, NBT_Type::Compound & > & GetCompound ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Compound 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Compound 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Compound 类型,则抛出异常,具体请参考std::get的说明

◆ GetCompound [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Compound &, NBT_Type::Compound & > GetCompound ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Compound 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Compound 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Compound 类型,则抛出异常,具体请参考std::get的说明

◆ GetDouble [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Double &, NBT_Type::Double & > & GetDouble ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Double 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Double 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Double 类型,则抛出异常,具体请参考std::get的说明

◆ GetDouble [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Double &, NBT_Type::Double & > GetDouble ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Double 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Double 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Double 类型,则抛出异常,具体请参考std::get的说明

◆ GetEnd [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::End &, NBT_Type::End & > & GetEnd ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 End 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 End 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 End 类型,则抛出异常,具体请参考std::get的说明

◆ GetEnd [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::End &, NBT_Type::End & > GetEnd ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 End 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 End 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 End 类型,则抛出异常,具体请参考std::get的说明

◆ GetFloat [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Float &, NBT_Type::Float & > & GetFloat ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Float 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Float 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Float 类型,则抛出异常,具体请参考std::get的说明

◆ GetFloat [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Float &, NBT_Type::Float & > GetFloat ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Float 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Float 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Float 类型,则抛出异常,具体请参考std::get的说明

◆ GetInt [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Int &, NBT_Type::Int & > & GetInt ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Int 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Int 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Int 类型,则抛出异常,具体请参考std::get的说明

◆ GetInt [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Int &, NBT_Type::Int & > GetInt ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Int 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Int 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Int 类型,则抛出异常,具体请参考std::get的说明

◆ GetIntArray [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::IntArray &, NBT_Type::IntArray & > & GetIntArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 IntArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 IntArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 IntArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetIntArray [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::IntArray &, NBT_Type::IntArray & > GetIntArray ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 IntArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 IntArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 IntArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetList [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::List &, NBT_Type::List & > & GetList ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 List 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 List 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 List 类型,则抛出异常,具体请参考std::get的说明

◆ GetList [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::List &, NBT_Type::List & > GetList ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 List 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 List 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 List 类型,则抛出异常,具体请参考std::get的说明

◆ GetLong [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Long &, NBT_Type::Long & > & GetLong ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Long 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Long 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Long 类型,则抛出异常,具体请参考std::get的说明

◆ GetLong [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Long &, NBT_Type::Long & > GetLong ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Long 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Long 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Long 类型,则抛出异常,具体请参考std::get的说明

◆ GetLongArray [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::LongArray &, NBT_Type::LongArray & > & GetLongArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 LongArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 LongArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 LongArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetLongArray [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::LongArray &, NBT_Type::LongArray & > GetLongArray ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 LongArray 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 LongArray 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 LongArray 类型,则抛出异常,具体请参考std::get的说明

◆ GetShort [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Short &, NBT_Type::Short & > & GetShort ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Short 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Short 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Short 类型,则抛出异常,具体请参考std::get的说明

◆ GetShort [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::Short &, NBT_Type::Short & > GetShort ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 Short 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 Short 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 Short 类型,则抛出异常,具体请参考std::get的说明

◆ GetString [1/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::String &, NBT_Type::String & > & GetString ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 String 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 String 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 String 类型,则抛出异常,具体请参考std::get的说明

◆ GetString [2/2]

template<bool bIsConst>
std::conditional_t< bIsConst, const NBT_Type::String &, NBT_Type::String & > GetString ( NBT_Node_View< bIsConst > & node)
friend

友元函数:从NBT_Node_View对象中获取 String 类型的数据

参数
node要从中获取类型的NBT_Node_View对象
返回
对 String 类型数据的引用(根据视图的const属性决定返回常量引用或非常量引用)
注解
如果类型不存在或当前指向的不是 String 类型,则抛出异常,具体请参考std::get的说明

◆ IsByte

template<bool bIsConst>
bool IsByte ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Byte 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Byte 类型

◆ IsByteArray

template<bool bIsConst>
bool IsByteArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 ByteArray 类型的数据

参数
node要检查的对象
返回
对象中是否指向 ByteArray 类型

◆ IsCompound

template<bool bIsConst>
bool IsCompound ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Compound 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Compound 类型

◆ IsDouble

template<bool bIsConst>
bool IsDouble ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Double 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Double 类型

◆ IsEnd

template<bool bIsConst>
bool IsEnd ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 End 类型的数据

参数
node要检查的对象
返回
对象中是否指向 End 类型

◆ IsFloat

template<bool bIsConst>
bool IsFloat ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Float 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Float 类型

◆ IsInt

template<bool bIsConst>
bool IsInt ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Int 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Int 类型

◆ IsIntArray

template<bool bIsConst>
bool IsIntArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 IntArray 类型的数据

参数
node要检查的对象
返回
对象中是否指向 IntArray 类型

◆ IsList

template<bool bIsConst>
bool IsList ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 List 类型的数据

参数
node要检查的对象
返回
对象中是否指向 List 类型

◆ IsLong

template<bool bIsConst>
bool IsLong ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Long 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Long 类型

◆ IsLongArray

template<bool bIsConst>
bool IsLongArray ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 LongArray 类型的数据

参数
node要检查的对象
返回
对象中是否指向 LongArray 类型

◆ IsShort

template<bool bIsConst>
bool IsShort ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 Short 类型的数据

参数
node要检查的对象
返回
对象中是否指向 Short 类型

◆ IsString

template<bool bIsConst>
bool IsString ( const NBT_Node_View< bIsConst > & node)
friend

友元函数:检查目标对象中是否指向 String 类型的数据

参数
node要检查的对象
返回
对象中是否指向 String 类型

该类的文档由以下文件生成: