| 102 | // all set by default |
| 103 | template <class E, size_t N, size_t B> |
| 104 | inline void SetEnumFlags(const std::pair<const char*, E> (&str2Enum)[N], TStringBuf optSpec, |
| 105 | std::bitset<B>& flags, bool allIfEmpty = true) { |
| 106 | if (optSpec.empty()) { |
| 107 | SetEnumFlagsForEmptySpec(flags, allIfEmpty); |
| 108 | } else { |
| 109 | flags.reset(); |
| 110 | for (const auto& it : StringSplitter(optSpec).Split(',')) { |
| 111 | E e = *EnumFromStringImpl(ToString(it.Token()).data(), str2Enum, N); |
| 112 | flags.set(e); |
| 113 | } |
| 114 | } |
| 115 | } |
| 116 | |
| 117 | template <class E, size_t B> |
| 118 | inline void SetEnumFlags(const std::pair<const char*, E>* str2Enum, TStringBuf optSpec, |
nothing calls this directly
no test coverage detected