code cleanup for StringEqual()
Instead of replicating the functionality of `GetString()` and `GetStringLength()` in `StringEqual()` it now calls these methods instead.
This commit is contained in:
parent
3caa86c923
commit
b92d0ebd1b
@ -1498,12 +1498,12 @@ private:
|
||||
RAPIDJSON_ASSERT(IsString());
|
||||
RAPIDJSON_ASSERT(rhs.IsString());
|
||||
|
||||
const SizeType len1 = (flags_ == kShortStringFlag) ? data_.ss.length : data_.s.length;
|
||||
const SizeType len2 = (rhs.flags_ == kShortStringFlag) ? rhs.data_.ss.length : rhs.data_.s.length;
|
||||
const SizeType len1 = GetStringLength();
|
||||
const SizeType len2 = rhs.GetStringLength();
|
||||
if(len1 != len2) { return false; }
|
||||
|
||||
const Ch* const str1 = (flags_ == kShortStringFlag) ? data_.ss.str : data_.s.str;
|
||||
const Ch* const str2 = (rhs.flags_ == kShortStringFlag) ? rhs.data_.ss.str : rhs.data_.s.str;
|
||||
const Ch* const str1 = GetString();
|
||||
const Ch* const str2 = rhs.GetString();
|
||||
if(str1 == str2) { return true; } // fast path for constant string
|
||||
|
||||
return (memcmp(str1, str2, sizeof(Ch) * len1) == 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user