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:
parent
004d60658b
commit
4e8fd35341
1 changed files with 9 additions and 0 deletions
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue