Mutate элемент Range Range
У меня есть двумерный вектор перечислений std::vector<std::vector<enum>>
перечисление может иметь значения a (0), b (1), c(2)
, Я хотел бы случайно установить один из a
к c
и думал, что я попробую библиотеку диапазонов.
В настоящее время у меня есть вид на все a
s в моем 2d векторе, используя это:
auto g = view::join(vec) | filter([](enumname x){ return x : enumname::a; };
я нашел view::sample
это звучит полезно для случайного выбора элемента, но я не знал, как его использовать, поскольку я запутался в размере другого диапазона, в котором он нуждается в качестве параметра? (просмотр:: образец документа)
Следующим шагом также будет изменение этого случайно выбранного элемента. Насколько я понял, ranges::v3::view
обеспечивает только неизменяемое представление элементов. Так возможно ли вообще изменить выбранный элемент?