int main(int argc, char* argv[]) { size_t size = BloomFilter<std::string>::GetBufferSize(INSERT_NUM, 0.001); size_t k = BloomFilter<std::string>::GetK(INSERT_NUM, 0.001); BloomFilter<std::string> bf = BloomFilter<std::string>::CreateBloomFilter(size, k); double success = 0; for(uint32_t i=0; i<INSERT_NUM; ++i) { std::string strUrl = (boost::format("http://voanews.com/article/%u") % i).str(); if(bf.Contains(strUrl)) break; ++success; //printf("crawl url[%s]...\n", strUrl.c_str()); bf.Add(strUrl); } printf("success count: %u[size:%lu, k:%lu]\n", (uint32_t)success, size, k); // dump bloomfilter bitmap buffer // bf.Dump(); bf.Delete(); return 0; }