我想将boost::gregorian::date
存储为boost::unordered_map
的键,但我无法编译代码,因为它缺少此类的正确哈希函数。
std::string
并存储它。我可能想避免这种解决方案,因为使用字符串非常昂贵。day()
函数,我不确定这是否真的合适。还有其他更好的方法来存储日期或将日期导出为数字吗?
答案 0 :(得分:8)
为它实现哈希函数:
namespace boost { namespace gregorian {
inline size_t hash_value(date const& date)
{
return boost::hash_value(date.julian_day());
}
} } // boost::gregorian
julian_day
只是朱利安时期开始以来的日期指数(无论是什么)。