We've Moved!
Google SparseHash is now hosted at
code.google.com.
Our new homepage is located at
http://code.google.com/p/google-sparsehash.
Overview
The Google SparseHash project contains several hash-map
implementations in use at Google, with different performance
characteristics, including an implementation that optimizes for space
and one that optimizes for speed.
SparseHash is a template library; there are no binaries to
install.
SparseHash is distributed under the terms of the
BSD License.
For downloads, news, and other information, visit our
Project Page
Example
This is by no means a complete example; it simply gives you a
feel for what the Sparsehash API looks like.
#include
#include
struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return (s1 == s2) || (s1 && s2 && strcmp(s1, s2) == 0);
}
};
int main()
{
google::sparse_hash_map, eqstr> months;
months.set_deleted_key(NULL);
months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;
std::cout << "september -> " << months["september"] << std::endl;
std::cout << "april -> " << months["april"] << std::endl;
std::cout << "june -> " << months["june"] << std::endl;
std::cout << "november -> " << months["november"] << std::endl;
}
|
|
Documentation
SparseHash
documentation, including notes on implementation details
andperformance comparisons.
Download
For downloads, visit our
Project Page
Google Groups
|