Add missing initializations.

This commit is contained in:
Matthias Vallentin 2013-06-06 15:22:04 -07:00
parent 86becdd6e4
commit f2d536d2da
3 changed files with 35 additions and 11 deletions

View file

@ -95,6 +95,11 @@ HashPolicy::HashVector DoubleHashing::Hash(const void* x, size_t n) const
}
BloomFilter::BloomFilter()
: hash_(NULL)
{
}
BloomFilter::BloomFilter(size_t k)
: hash_(new hash_policy(k))
{
@ -151,6 +156,11 @@ size_t BasicBloomFilter::K(size_t cells, size_t capacity)
return std::ceil(frac * std::log(2));
}
BasicBloomFilter::BasicBloomFilter()
: bits_(NULL)
{
}
BasicBloomFilter::BasicBloomFilter(double fp, size_t capacity)
: BloomFilter(K(M(fp, capacity), capacity))
{
@ -192,6 +202,11 @@ size_t BasicBloomFilter::CountImpl(const HashPolicy::HashVector& h) const
return 1;
}
CountingBloomFilter::CountingBloomFilter()
: cells_(NULL)
{
}
CountingBloomFilter::CountingBloomFilter(double fp, size_t capacity,
size_t width)
: BloomFilter(BasicBloomFilter::K(BasicBloomFilter::M(fp, capacity),

View file

@ -188,7 +188,7 @@ public:
protected:
DECLARE_ABSTRACT_SERIAL(BloomFilter);
BloomFilter() { };
BloomFilter();
BloomFilter(size_t k);
virtual void AddImpl(const HashPolicy::HashVector& hashes) = 0;
@ -244,7 +244,7 @@ public:
protected:
DECLARE_SERIAL(BasicBloomFilter);
BasicBloomFilter() { }
BasicBloomFilter();
virtual void AddImpl(const HashPolicy::HashVector& h);
virtual size_t CountImpl(const HashPolicy::HashVector& h) const;
@ -264,7 +264,7 @@ public:
protected:
DECLARE_SERIAL(CountingBloomFilter);
CountingBloomFilter() { }
CountingBloomFilter();
virtual void AddImpl(const HashPolicy::HashVector& h);
virtual size_t CountImpl(const HashPolicy::HashVector& h) const;

View file

@ -518,13 +518,27 @@ bool EntropyVal::DoUnserialize(UnserialInfo* info)
return true;
}
BloomFilterVal::BloomFilterVal(BloomFilter* bf)
: OpaqueVal(bloomfilter_type), bloom_filter_(bf)
BloomFilterVal::BloomFilterVal()
: OpaqueVal(bloomfilter_type),
type_(NULL),
hash_(NULL),
bloom_filter_(NULL)
{
}
BloomFilterVal::BloomFilterVal(OpaqueType* t)
: OpaqueVal(t)
: OpaqueVal(t),
type_(NULL),
hash_(NULL),
bloom_filter_(NULL)
{
}
BloomFilterVal::BloomFilterVal(BloomFilter* bf)
: OpaqueVal(bloomfilter_type),
type_(NULL),
hash_(NULL),
bloom_filter_(bf)
{
}
@ -575,11 +589,6 @@ BloomFilterVal::~BloomFilterVal()
delete bloom_filter_;
}
BloomFilterVal::BloomFilterVal()
: OpaqueVal(bloomfilter_type)
{
}
IMPLEMENT_SERIAL(BloomFilterVal, SER_BLOOMFILTER_VAL);
bool BloomFilterVal::DoSerialize(SerialInfo* info) const