Add filter of duplicate value

This commit is contained in:
kaldoran committed 2016-08-17 12:13:21 -04:00
1 parent 8f5737a28d
commit ef8b9d44fb
1 file changed
+12 -4
+12 -4
View File
@@ -28,13 +28,13 @@ static std::string blobToString(const Blob &bl) {
std::string Prefix::toString() const {
std::stringstream ss;
ss << "Prefix : " << std::endl << "\tContent_ : ";
ss << "Prefix : " << std::endl << "\tContent_ : \"";
ss << blobToString(content_);
ss << std::endl;
ss << "\"" << std::endl;
ss << "\tFlags_ : ";
ss << "\tFlags_ : \"";
ss << blobToString(flags_);
ss << std::endl;
ss << "\"" << std::endl;
return ss.str();
}
@@ -193,6 +193,14 @@ void Pht::lookupStep(Prefix p, std::shared_ptr<int> lo, std::shared_ptr<int> hi,
IndexEntry entry;
entry.unpackValue(*value);
auto it = std::find_if(vals->cbegin(), vals->cend(), [&](const std::shared_ptr<IndexEntry>& ie) {
return ie->value == entry.value;
});
/* If we already got the value then get the next one */
if (it != vals->cend())
return true;
if (max_common_prefix_len) { /* inexact match case */
auto common_bits = Prefix::commonBits(p, entry.prefix);