Я очень рад, что range-v3 наконец-то добавляет алгоритм содержит. Но я бы хотел, чтобы мне не пришлось производить контейнер для его работы. Рассмотрим этот пример:
#include <range/v3/algorithm/contains.hpp>
enum class Status{
OK,
TimedOut,
TryAgain,
PermanentFailure
};
bool f(Status s){
std::array can_retry{Status::OK, Status::TimedOut};
return ranges::contains(can_retry,s);
}
int main(){
return f(Status::TryAgain);
}
Здесь я хотел бы вставить {Status::OK, Status::TimedOut}
в вызов содержимого, но это не удалось. Есть ли способ сделать это?
PS Пожалуйста, без комментариев по поводу удобства обслуживания / читаемости кода, который я хочу, это просто пример кода. :)