Value
Value类是一个通用基类,它实现了几个子类的通用方法。
List、Array、String、Struct 和 Record 这些类都继承自 Value,并且实现了(或覆盖了)这些专门子类特有的方法。
以下列出了 Value 提供的方法:
compare
in compare( Value * x )
将当前Valuethis
与参数 x
进行比较,并返回一个整数值来指示比较的结果。
- 如果
this < x
则返回一个负整数; - 如果两者相等则返回零。
- 如果
this > x
则返回一个正整数。
deserialize
static Value * deserialize ( char * buf , size_t & size )
从指定的缓冲区反序列化一个 Value对象。
equals
bool equals( Value * x )
将当前Value this
与参数x进行比较,并返回一个指示比较结果的布尔值。
- 如果两个值相等,则为true,否则为false。
fillBuf
static size_t fillBuf ( char * dst, char const * src, size_t size )
将 Value 的字符串表示形式复制到指定的缓冲区中。最多复制 size
个字节。
intValue
int64_t intValue ( void )
尝试获取 Value 转换为整数类型的值。
isNull
bool isNull( void )
检查当前Value是否为空。
- 如果值为空则返回true;
- 否则返回false。
isTrue
bool isTrue( void )
检查当前布尔值是否为真。
pointer
void * pointer( void )
获取指向值数据的原始指针。
- 对于一个整数Value, 返回一个64位整数的地址;
- 对于String Value,它指向一个以空结束的字符串。
realValue
double realValue( void )
尝试获取 Value 转换为浮点类型的值。
serialize
size_t serialize( char * buf , size_t & size )
将当前Value 序列化到指定的缓冲区。
stringValue
String * stringValue( void )
获取值的字符串表示形式;任何标量类型都可以转换为字符串。
timeValue
time_t timeValue( void )
通过尝试将值转换为 DateTime 类型来获取时间戳值。
unicodeStringValue
UnicodeString * unicodeStringValue( void )
获取Value的UnicodeString表示形式;任何标量类型都可以转换为UnicodeString。