| 18 | |
| 19 | template <class TEnum> |
| 20 | TVector<TStringBuf> SelectStrings(size_t count) { |
| 21 | TVector<TStringBuf> strings(Reserve(GetEnumItemsCount<TEnum>())); |
| 22 | for (const auto& [_, s] : GetEnumNames<TEnum>()) { |
| 23 | strings.push_back(s); |
| 24 | } |
| 25 | SortBy(strings, [](const TStringBuf& s) { return THash<TStringBuf>()(s); }); |
| 26 | strings.crop(count); |
| 27 | return strings; |
| 28 | } |
| 29 | |
| 30 | template <class TEnum, class TContext> |
| 31 | void BMToString(TContext& iface) { |