У меня есть другая структура данных, определенная пользователем (для работы с сетками). Единственный открытый доступ к базовым элементам - через итератор (прямой доступ к «элементу» x невозможен).
У меня также есть список индексов элементов, хранящихся в виде std :: vector, которые я хочу извлечь, где я определю первый элемент, посещаемый итератором, как index = 1, index = 2 и т. Д. Фактически я являюсь желая извлечь подмножество элементов на основе индекса.
Я буду делать это большое количество раз (сетка, из которой я делаю выборку, будет постоянно изменяться, и я хочу продолжать выбирать те же индексы), поэтому мне нужен как можно более эффективный метод.
В настоящее время я действительно не могу придумать более эффективного способа, чем добавить все элементы в std :: vector, затем выполнить цикл по списку индексов элементов и выбрать все необходимые элементы. В идеале, как по времени, так и из-за хранения, это не выглядит очень аккуратно.
Любые предложения будут высоко оценены.