На этом шаге мы рассмотрим особенности использования перечисляемых подмножеств.
Четвертый и последний вариант определения подмножеств элементов - перечисляемые подмножества. Подмножество элементов массива значений определяется простой передачей массива с индексами, При этом индексы не обязаны следовать в порядке сортировки и могут включаться в массив дважды.
В остальном перечисляемые подмножества ничем не отличаются от других подмножеств массивов значений.
namespace std {
template <class T>
class indirect_array;
template <class T>
class valarray {
public:
// Индексирование константного массива значений
// возвращает новый массив значений
valarray<T> operator[] (const valarray<size_t>&) const;
// Индексирование неконстантного массива
// значений возвращает indirect_array
indirect_array<T> operator[] (const valarray<size_t>&);
...
};
}
На следующем шаге мы рассмотрим пример использования перечисляемых подмножеств.