chenjunfu2-nbt-cpp v2.1.0
一个基于CPP20的NBT(Named Binary Tag)库
载入中...
搜索中...
未找到
NBT_TAG.hpp 文件参考

NBT类型枚举与它的运算重载 更多...

#include <stdint.h>
#include <stddef.h>
#include <compare>

浏览该文件的源代码.

类型定义

using NBT_TAG_RAW_TYPE = uint8_t
 NBT_TAG的原始类型,用于二进制读写或判断等

枚举

enum class  NBT_TAG : NBT_TAG_RAW_TYPE {
  End = 0 , Byte , Short , Int ,
  Long , Float , Double , ByteArray ,
  String , List , Compound , IntArray ,
  LongArray , ENUM_END
}
 枚举NBT类型对应的类型标签值 更多...

函数

用于方便enum class比较的运算符重载
template<typename T>
constexpr bool operator== (T l, NBT_TAG r)
 比较任意类型与NBT_TAG是否相等
template<typename T>
constexpr bool operator== (NBT_TAG l, T r)
 比较NBT_TAG与任意类型是否相等
constexpr bool operator== (NBT_TAG l, NBT_TAG r)
 比较两个NBT_TAG枚举值是否相等
template<typename T>
constexpr bool operator!= (T l, NBT_TAG r)
 比较任意类型与NBT_TAG是否不相等
template<typename T>
constexpr bool operator!= (NBT_TAG l, T r)
 比较NBT_TAG与任意类型是否不相等
constexpr bool operator!= (NBT_TAG l, NBT_TAG r)
 比较两个NBT_TAG枚举值是否不相等
template<typename T>
constexpr std::strong_ordering operator<=> (T l, NBT_TAG r)
 三路比较任意类型与NBT_TAG的大小关系
template<typename T>
constexpr std::strong_ordering operator<=> (NBT_TAG l, T r)
 三路比较NBT_TAG与任意类型的大小关系
constexpr std::strong_ordering operator<=> (NBT_TAG l, NBT_TAG r)
 三路比较两个NBT_TAG枚举值的大小关系

详细描述

NBT类型枚举与它的运算重载

类型定义说明

◆ NBT_TAG_RAW_TYPE

using NBT_TAG_RAW_TYPE = uint8_t

NBT_TAG的原始类型,用于二进制读写或判断等

注解
可以和NBT_TAG无损互转

枚举类型说明

◆ NBT_TAG

enum class NBT_TAG : NBT_TAG_RAW_TYPE
strong

枚举NBT类型对应的类型标签值

注解
枚举值ENUM_END不应该被当作合法的类型枚举值使用,这是一个结束标记,不是合法的类型标签
枚举值
End 

对应NBT_Type::End

Byte 

对应NBT_Type::Byte

Short 

对应NBT_Type::Short

Int 

对应NBT_Type::Int

Long 

对应NBT_Type::Long

Float 

对应NBT_Type::Float

Double 

对应NBT_Type::Double

ByteArray 

对应NBT_Type::ByteArray

String 

对应NBT_Type::String

List 

对应NBT_Type::List

Compound 

对应NBT_Type::Compound

IntArray 

对应NBT_Type::IntArray

LongArray 

对应NBT_Type::LongArray

ENUM_END 

枚举结束标记,用于计算enum元素个数,范围判断等

函数说明

◆ operator!=() [1/3]

bool operator!= ( NBT_TAG l,
NBT_TAG r )
constexpr

比较两个NBT_TAG枚举值是否不相等

参数
l左操作数
r右操作数
返回
如果两个枚举值的底层整数值不相等则返回true

◆ operator!=() [2/3]

template<typename T>
bool operator!= ( NBT_TAG l,
T r )
constexpr

比较NBT_TAG与任意类型是否不相等

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(NBT_TAG枚举值)
r右操作数(任意类型)
返回
如果l的底层整数值不等于r则返回true

◆ operator!=() [3/3]

template<typename T>
bool operator!= ( T l,
NBT_TAG r )
constexpr

比较任意类型与NBT_TAG是否不相等

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(任意类型)
r右操作数(NBT_TAG枚举值)
返回
如果l不等于r的底层整数值则返回true

◆ operator<=>() [1/3]

std::strong_ordering operator<=> ( NBT_TAG l,
NBT_TAG r )
constexpr

三路比较两个NBT_TAG枚举值的大小关系

参数
l左操作数
r右操作数
返回
表示底层整数值比较结果的std::strong_ordering枚举值

◆ operator<=>() [2/3]

template<typename T>
std::strong_ordering operator<=> ( NBT_TAG l,
T r )
constexpr

三路比较NBT_TAG与任意类型的大小关系

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(NBT_TAG枚举值)
r右操作数(任意类型)
返回
表示底层整数值比较结果的std::strong_ordering枚举值

◆ operator<=>() [3/3]

template<typename T>
std::strong_ordering operator<=> ( T l,
NBT_TAG r )
constexpr

三路比较任意类型与NBT_TAG的大小关系

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(任意类型)
r右操作数(NBT_TAG枚举值)
返回
表示底层整数值比较结果的std::strong_ordering枚举值

◆ operator==() [1/3]

bool operator== ( NBT_TAG l,
NBT_TAG r )
constexpr

比较两个NBT_TAG枚举值是否相等

参数
l左操作数
r右操作数
返回
如果两个枚举值的底层整数值相等则返回true

◆ operator==() [2/3]

template<typename T>
bool operator== ( NBT_TAG l,
T r )
constexpr

比较NBT_TAG与任意类型是否相等

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(NBT_TAG枚举值)
r右操作数(任意类型)
返回
如果l的底层整数值等于r则返回true

◆ operator==() [3/3]

template<typename T>
bool operator== ( T l,
NBT_TAG r )
constexpr

比较任意类型与NBT_TAG是否相等

模板参数
T可与NBT_TAG_RAW_TYPE比较的类型
参数
l左操作数(任意类型)
r右操作数(NBT_TAG枚举值)
返回
如果l等于r的底层整数值则返回true