diff --git a/include/flags/flags.hpp b/include/flags/flags.hpp index e70ed09e..e46f9368 100644 --- a/include/flags/flags.hpp +++ b/include/flags/flags.hpp @@ -83,7 +83,13 @@ template class flags { template flags(enum_type e, Args ... args) noexcept : flags{e, args...} {} - + template + flags(FwIter b, FwIter e, + typename convertible())>::type = nullptr) + noexcept(noexcept(std::declval().insert(std::declval(), + std::declval()))) + : val_(0) + { insert(b, e); } constexpr explicit operator bool() const noexcept { return val_ != 0; }