Skip to content

Provide generic hasher for enum classes #22

@scheibel

Description

@scheibel

Possible implementation:

template<typename EnumClass>
struct EnumClassHash
{
    std::hash<unsigned char>::result_type operator()(
        const EnumClass & arg) const
    {
        static std::hash<unsigned char> hasher;
        return hasher(static_cast<unsigned char>(arg));
    }
};

Possible usage:

template <>
struct hash<MyEnumClass> : EnumClassHash<MyEnumClass> {};

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions