0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-10-02 13:48:53 +02:00

ircd::util: Add enum for_each closure for conforming enums.

This commit is contained in:
Jason Volk 2016-08-25 20:43:14 -07:00
parent 004d60658b
commit 4e8fd35341

View file

@ -88,6 +88,15 @@ num_of()
return static_cast<typename std::underlying_type<Enum>::type>(Enum::_NUM_);
}
// Iteration of a num_of() conforming enum
template<class Enum>
typename std::enable_if<std::is_enum<Enum>::value, void>::type
for_each(const std::function<void (const Enum &)> &func)
{
for(size_t i(0); i < num_of<Enum>(); ++i)
func(static_cast<Enum>(i));
}
struct case_insensitive_less
{