bool VelocyPackHelper::VPackStringEqual::operator()(VPackSlice const& lhs, VPackSlice const& rhs) const noexcept { auto const lh = lhs.head(); auto const rh = rhs.head(); if (lh != rh) { return false; } VPackValueLength size; if (lh == 0xbf) { // long UTF-8 String size = static_cast<VPackValueLength>(velocypack::readInteger<VPackValueLength>(lhs.begin() + 1, 8)); if (size !=static_cast<VPackValueLength>(velocypack::readInteger<VPackValueLength>(rhs.begin() + 1, 8))) { return false; } return (memcmp(lhs.start() + 1 + 8, rhs.start() + 1 + 8, static_cast<size_t>(size)) == 0); } size = static_cast<VPackValueLength>(lh - 0x40); return (memcmp(lhs.start() + 1, rhs.start() + 1, static_cast<size_t>(size)) == 0); };