Mutate элемент Range Range - PullRequest
       9

Mutate элемент Range Range

0 голосов
/ 01 марта 2019

У меня есть двумерный вектор перечислений std::vector<std::vector<enum>>, перечисление может иметь значения a (0), b (1), c(2).Я хотел бы случайным образом установить один из a на c и подумал, что попробую библиотеку диапазонов.

В настоящее время у меня есть просмотр всех a в моем 2dвектор, использующий это:

auto g = view::join(vec) | filter([](my_enum x){ return x == my_enum::a; };

Я нашел view::sample, что звучит полезно для случайного выбора элемента, но я не знал, как его использовать, так как я запутался в размередругой диапазон, который ему нужен в качестве параметра? (view :: sample doc)

Следующим шагом также будет изменение этого случайно выбранного элемента.Насколько я понял, ranges::v3::view предоставляет только неизменяемое представление элементов.Так возможно ли вообще изменить выбранный элемент?

...