#include <unordered_set>
#include <iostream>

using namespace std;

class Sales_data
{
    public:
        string isbn()const {return a;}
    private:
    	string a;
};

size_t hasher(const Sales_data &sd)
{
    return hash<string>()(sd.isbn());
}
bool eqOp(const Sales_data &lhs, const Sales_data &rhs)
{
    return lhs.isbn() == rhs.isbn();
}

int main()
{
    using SD_multiset = unordered_multiset<Sales_data,decltype(hasher)*, decltype(eqOp)*>;
    // arguments are the bucket size and pointers to the hash function and equality operator
    SD_multiset bookstore(42, hasher, eqOp);
    
	return 0;
}
