Шаблонный класс mapped_vector<T, A>
является базовым контейнером-адаптером для разреженных векторов, использующих элементные отображения. Для n-размерного разреженного вектора и 0 <= i < n ненулевые элементы vi отображаются (are mapped) в последовательные элементы ассоциативного (сочетательного) контейнера, т. е. для элементов k =
vi1 и
k + 1 =
vi2 контейнера содержатся i1 <
i2.
#include <boost/numeric/ublas/vector_sparse.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; mapped_vector<double> v (3, 3); for (unsigned i = 0; i < v.size (); ++ i) v (i) = i; std::cout << v << std::endl; }
Будет выведено на экран:
[3](0,1,2)
Определен в заголовочном файле vector_sparse.hpp.
Параметр | Описание | Значение по-умолчанию |
---|---|---|
T |
Тип объектов, размещаемых в отображенном векторе. | |
A |
Тип приспособленного (adapted) массива. [1] | map_std<std::size_t, T> |
Вектор .
None, except for those imposed by the requirements of Vector .
vector_container<mapped_vector<T, A>
>
Функция-член | Описание |
---|---|
mapped_vector () |
Создает mapped_vector , содержащий ноль элементов. |
mapped_vector (size_type size, size_type
non_zeros = 0) |
Создает mapped_vector , содержащий не больше чем size элементов. |
mapped_vector (const mapped_vector &v) |
Конструктор копирования. |
template<class AE> |
Расширенный конструктор копирования. |
void resize (size_type size, bool
preserve = true) |
Изменяет размер mapped_vector до размеров не больше, чем size элементов. Существующие элементы mapped_vector сохраняются. |
size_type size () const |
Возвращает размер mapped_vector . |
const_reference operator () (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator () (size_type i) |
Возвращает ссылку на i -й элемент. |
const_reference operator [] (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator [] (size_type i) |
Возвращает ссылку на i -й элемент. |
mapped_vector &operator = (const mapped_vector
&v) |
Оператор присваивания. |
mapped_vector &assign_temporary (mapped_vector
&v) |
Устанавливает временный вектор. Может изменять отображенный вектор v . |
template<class AE> |
Расширенный оператор присваивания. |
template<class AE> |
Устанавливает векторное выражение для отображенного вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AE> |
Вычисленный оператор присваивания. Добавляет векторное выражение к отображенному вектору. |
template<class AE> |
Задает векторное выражение для отображенного вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AE> |
Вычисленный оператор присваивания. Вычитает векторное выражение из отображенного вектора. |
template<class AE> |
Вычитает векторное выражение из отображенного вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AT> |
Вычисленный оператор присваивания. Умножает отображенный вектор на число. |
template<class AT> |
Вычисленный оператор присваивания. Делит отображенны вектор на число. |
void swap (mapped_vector &v) |
Обменивает содержимое векторов. |
true_reference insert_element (size_type i, const_reference t) |
Вставляет значение t в i -й элемент. Повторы элементов недопустимы. |
void erase_element (size_type i) |
Удаляет значение с номером i . |
void clear () |
Очищает отображенный вектор. |
const_iterator begin () const |
Возвращает const_iterator , указывающий на начало mapped_vector . |
const_iterator end () const |
Возвращает const_iterator p, указывающий на конец mapped_vector . |
iterator begin () |
Возвращает iterator , указывающий на начало mapped_vector . |
iterator end () |
Возвращает iterator , указывающий на конец
mapped_vector . |
const_reverse_iterator rbegin () const |
Возвращает const_reverse_iterator , указывающий на начало инвертированного (обратного) mapped_vector . |
const_reverse_iterator rend () const |
Возвращает const_reverse_iterator , указывающий на конец инвертированного (обратного) mapped_vector . |
reverse_iterator rbegin () |
Возвращает reverse_iterator , указывающий на начало инвертированного (обратного) mapped_vector . |
reverse_iterator rend () |
Возвращает reverse_iterator , указывающий на конец инвертированного (обратного) mapped_vector . |
[1] Поддерживаемые параметры для приспособленного (adapted) массива: map_array<std::size_t, T>
и
map_std<std::size_t, T>
. Последнее равнозначно std::map<std::size_t, T>
.
Шаблонный класс compressed_vector<T, IB, IA,
TA>
является базовым контейнером-адаптером для сжатых векторов. Для n-размерного сжатого вектора и 0 <= i < n ненулевые элементы vi отображаются (are mapped) в контейнер последовательных элементов индекса и значения, т. е. для элементов контейнера k = vi1 и k + 1 =
vi2 содержатся i1 <
i2.
#include <boost/numeric/ublas/vector_sparse.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; compressed_vector<double> v (3, 3); for (unsigned i = 0; i < v.size (); ++ i) v (i) = i; std::cout << v << std::endl; }
Будет выведено на экран:
[3](0,1,2)
Определен в заголовочном файле vector_sparse.hpp.
Параметр | Описание | Значение по-умолчанию |
---|---|---|
T |
Тип объектов, размещаемых в сжатом векторе. | |
IB |
Индекс начала отсчета сжатого вектора. [1] | 0 |
IA |
Тип приспособленного (adapted) массива для индексов. [2] | unbounded_array<std::size_t> |
TA |
Тип приспособленного (adapted) массива для значений. [2] | unbounded_array<T> |
Функция-член | Описание |
---|---|
compressed_vector () |
Создает пустой compressed_vector . |
compressed_vector (size_type size, size_type
non_zeros) |
Создает compressed_vector , содержащий не больше size элементов. |
compressed_vector (const compressed_vector
&v) |
Конструктор копирования. |
template<class AE> |
Расширенный конструктор копирования. |
void resize (size_type size, bool
preserve = true) |
Изменяет размер compressed_vector до размера не больше size элементов. Существующие элементы compress_vector сохраняются. |
size_type size () const |
Возвращает размер compressed_vector . |
const_reference operator () (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator () (size_type i) |
Возвращает ссылку на i -й элемент. |
const_reference operator [] (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator [] (size_type i) |
Возвращает ссылку на i -й элемент. |
compressed_vector &operator = (const
compressed_vector &v) |
Оператор присваивания. |
compressed_vector &assign_temporary
(compressed_vector &v) |
Устанавливает временный вектор. Может изменять сжатый вектор
v . |
template<class AE> |
Расширенный оператор присваивания. |
template<class AE> |
Задает векторное выражение для сжатого вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AE> |
Вычисленный оператор присваивания. Добавляет векторное выражение к сжатому вектору. |
template<class AE> |
Задает векторное выражение для сжатого вектора. Левая и правая части присваивания должны быть независимыми |
template<class AE> |
Вычисленный оператор присваивания. Вычитает векторное выражение из сжатого вектора. |
template<class AE> |
Вычитает векторное выражение из сжатого вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AT> |
Вычисленный оператор присваивания. Умножает сжатый вектор на число. |
template<class AT> |
Вычисленный оператор присваивания. Делит сжатый вектор на число. |
void swap (compressed_vector &v) |
Обменивает содержимое сжатых векторов. |
true_reference insert_element (size_type i, const_reference t) |
Вставляет значение t в i -й элемент. Повторы элементов недопустимы. |
void erase_element (size_type i) |
Удаляет значение с номером i . |
void clear () |
Очищает вектор. |
const_iterator begin () const |
Возвращает const_iterator , указывающий на начало compressed_vector . |
const_iterator end () const |
Возвращает const_iterator , указывающий на конец compressed_vector . |
iterator begin () |
Возвращает iterator , указывающий на начало compressed_vector . |
iterator end () |
Возвращает iterator , указывающий на конец
compressed_vector . |
const_reverse_iterator rbegin () const |
Возвращает const_reverse_iterator , указывающий на начало инвертированного (обратного) compressed_vector . |
const_reverse_iterator rend () const |
Возвращает const_reverse_iterator , указывающий на начало инвертированного (обратного) compressed_vector . |
reverse_iterator rbegin () |
Возвращает reverse_iterator , указывающий на начало инвертированного (обратного) compressed_vector . |
reverse_iterator rend () |
Возвращает reverse_iterator , указывающий на конец инвертированного (обратного) compressed_vector . |
[1]
Поддерживаемые параметры для индекса начала отсчета: 0
и по крайней мере 1
.
[2]
Поддерживаемые параметры для приспособленного (adapted) массива: unbounded_array<>
,
bounded_array<>
и
std::vector<>
.
Шаблонный класс coordinate_vector<T, IB, IA,
TA>
является базовым контейнером-адаптером для сжатых векторов. Для n-размерного отсортированного координатного вектора и 0
<= i < n ненулевые элементы vi отображаются в контейнер последовательных элементов индексов и значений, т. е. для элементов k =
vi1 и
k + 1 =
vi2 контейнера содержатся i1 <
i2.
#include <boost/numeric/ublas/vector_sparse.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; coordinate_vector<double> v (3, 3); for (unsigned i = 0; i < v.size (); ++ i) v (i) = i; std::cout << v << std::endl; }
Будет выведено на экран:
[3](0,1,2)
Определен в заголовочном файле vector_sparse.hpp.
Параметр | Описание | Значение по-умолчанию |
---|---|---|
T |
Тип объектов, размещаемых в сжатом векторе. | |
IB |
Индекс начала отсчета координатного вектора. [1] | 0 |
IA |
Тип приспособленного (adapted) массива для индексов. [2] | unbounded_array<std::size_t> |
TA |
Тип приспособленного (adapted) массива для значений. [2] | unbounded_array<T> |
Vector .
Для которых базовый класс Vector .
vector_container<coordinate_vector<T, IB, IA,
TA> >
Функция-член | Описание |
---|---|
coordinate_vector () |
Создает пустой coordinate_vector . |
coordinate_vector (size_type size, size_type
non_zeros) |
Создает coordinate_vector , содержащий не больше size элементов. |
coordinate_vector (const coordinate_vector
&v) |
Конструктор копирования. |
template<class AE> |
Расширенный конструктор копирования. |
void resize (size_type size, bool
preserve = true) |
Изменяет размер coordinate_vector до размера не больше size элементов. Существующие элементы coordinate_vector сохраняются. |
size_type size () const |
Возвращает размер coordinate_vector . |
const_reference operator () (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator () (size_type i) |
Возвращает ссылку на i -й элемент. |
const_reference operator [] (size_type i)
const |
Возвращает значение i -го элемента. |
reference operator [] (size_type i) |
Возвращает ссылку на i -й элемент. |
coordinate_vector &operator = (const
coordinate_vector &v) |
Оператор присваивания. |
coordinate_vector &assign_temporary
(coordinate_vector &v) |
Устанавливает временный вектор. Может изменять координатный вектор
v . |
template<class AE> |
Расширенный оператор присваивания. |
template<class AE> |
Задает векторное выражение для координатного вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AE> |
Вычисленный оператор присваивания. Добавляет векторное выражение к координатному вектору. |
template<class AE> |
Задает векторное выражение для координатног вектора. Левая и правая части присваивания должны быть независимыми. |
template<class AE> |
Вычисленный оператор присваивания. Вычитает векторное выражение из координатного вектора. |
template<class AE> |
Вычитает векторное выражение из координатного вектора. Левая и правая части присваивания должны быть независимыми |
template<class AT> |
Вычисленный оператор присваивания. Умножает координатный вектор на число. |
template<class AT> |
Вычисленный оператор присваивания. Делит координатны вектор на число. |
void swap (coordinate_vector &v) |
Обменивает содержимое сжатых векторов. |
true_reference insert_element (size_type i, const_reference t) |
Вставляет значение t в i -й элемент. Повторы элементов недопустимы. |
void append_element (size_type i, size_type j, const_reference t) |
Добавляет значение t в элемент с индексом i .
Повторные элементы могут быть добавлены к coordinate_vector . Они объединяются в один арифметически суммированный элемент функцией sort . |
void erase_element (size_type i) |
Удаляет значение с номером i . |
void clear () |
Очищает вектор. |
const_iterator begin () const |
Возвращает const_iterator , указывающий на начало coordinate_vector . |
const_iterator end () const |
Возвращает const_iterator , указывающий на конец coordinate_vector . |
iterator begin () |
Возвращает iterator , указывающий на начало coordinate_vector . |
iterator end () |
Возвращает iterator , указывающий на конец
coordinate_vector . |
const_reverse_iterator rbegin () const |
Возвращает const_reverse_iterator , указывающий на начало инвертированного (обратного) coordinate_vector . |
const_reverse_iterator rend () const |
Возвращает const_reverse_iterator , указывающий на конец инвертированного (обратного) coordinate_vector . |
reverse_iterator rbegin () |
Возвращает reverse_iterator , указывающий на начало инвертированного (обратного) coordinate_vector . |
reverse_iterator rend () |
Возвращает reverse_iterator , указывающий на конец инвертированного (обратного) coordinate_vector . |
[1]
Поддерживаемые параметры для индекса начала отсчета: 0
и по крайней мере 1
.
[2]
Поддерживаемые параметры для приспособленного (adapted) массива:
unbounded_array<>
,
bounded_array<>
и
std::vector<>
.
Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission to copy, use, modify, sell and distribute this document
is granted provided this copyright notice appears in all copies.
This document is provided ``as is'' without express or implied
warranty, and with no claim as to its suitability for any
purpose.
Перевод с оригинала: Кулиш. В. И. 2006 год.