Вектор

Вектор

Описание

Шаблонный класс vector<T, A> является базовым контейнером-адаптером для плотных векторов. Для a n-размерного вектора и 0 <= i < n каждый элемент vi отображается в i-й элемент контейнера.

Пример

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>

int main () {
    using namespace boost::numeric::ublas;
    vector<double> v (3);
    for (unsigned i = 0; i < v.size (); ++ i)
        v (i) = i;
    std::cout << v << std::endl;
}

Будет выведено на экран:

[3](0,1,2)

Определение

Определен в заголовочном файле vector.hpp.

Параметры шаблона

Параметр

Описание

Значение по умолчанию

T

Тип объектов, размещаемых в векторе.

A

Тип массива Storage (хранилища). [1]

unbounded_array<T>

Функции-члены

Функция-член

Место определения

Описание

value_type

VectorExpression

reference

VectorExpression

const_reference

VectorExpression

size_type

VectorExpression

difference_type

VectorExpression

const_iterator

VectorExpression

iterator

VectorExpression

const_reverse_iterator

VectorExpression

reverse_iterator

VectorExpression

array_type

Vector

vector ()

VectorExpression

Создает пустой vector, содержащий 0 элементов.

vector (size_type size)

Vector

Создает пустой vector, содержащий size элементов.

vector (const vector &v)

Конструктор копирования.

template<class AE>
vector (const vector_expression<AE> &ae)

Расширенный конструктор копирования.

void resize (size_type size, bool preserve = true)

Vector

Изменяет размер vector до размера в size элементов. Существующие элементы vector сохраняются.

size_type size () const

VectorExpression

Возвращает размер vector.

const array_type& data () const

Vector

array_type& data ()

Vector

const_reference operator () (size_type i) const

VectorExpression

Возвращает const ссылку на i-й элемент.

reference operator () (size_type i)

VectorExpression

Возвращает ссылку на i-й элемент.

const_reference operator [] (size_type i) const

Vector

Возвращает const ссылку на i-й элемент.

reference operator [] (size_type i)

Vector

Возвращает ссылку на i-й элемент.

vector &operator = (const vector &v)

VectorExpression

Оператор присваивания.

vector &assign_temporary (vector &v)

VectorExpression

Устанавливает временный вектор. Может изменять вектор v.

template<class AE>
vector &operator = (const vector_expression<AE> &ae)

VectorExpression

Расширенный оператор присваивания.

template<class AE>
vector &assign (const vector_expression<AE> &ae)

VectorExpression

Задает векторное выражение для вектора. Левая и правая части присваивания должны быть независимыми.

template<class AE>
vector &operator += (const vector_expression<AE> &ae)

VectorExpression

Вычисленный оператор присваивания. Добавляет векторное выражение к вектору.

template<class AE>
vector &plus_assign (const vector_expression<AE> &ae)

VectorExpression

Задает векторное выражение для вектора. Левая и правая части присваивания должны быть независимыми

template<class AE>
vector &operator -= (const vector_expression<AE> &ae)

VectorExpression

Вычисленный оператор присваивания. Вычитает векторное выражение из вектора.

template<class AE>
vector &minus_assign (const vector_expression<AE> &ae)

VectorExpression

Вычитает векторное выражение из вектора. Левая и правая части присваивания должны быть независимыми.

template<class AT>
vector &operator *= (const AT &at)

VectorExpression

Вычисленный оператор присваивания. Умножает вектор на число.

template<class AT>
vector &operator /= (const AT &at)

VectorExpression

Вычисленный оператор присваивания. Делит вектор на число.

void swap (vector &v)

VectorExpression

Обменивает содержимое векторов.

void insert_element (size_type i, const_reference t)

Vector

Вставляет значение t в i-й элемент.

void erase_element (size_type i)

Vector

Удаляет значение с номером i.

void clear ()

Vector

Очищает вектор.

const_iterator begin () const

VectorExpression

Возвращает const_iterator, указывающий на начало vector.

const_iterator end () const

VectorExpression

Возвращает const_iterator, указывающий на конец vector.

iterator begin ()

VectorExpression

Возвращает iterator, указывающий на начало vector.

iterator end ()

VectorExpression

Возвращает iterator, указывающий на начало vector.

const_reverse_iterator rbegin () const

VectorExpression

Возвращает const_reverse_iterator, указывающий на начало инвертированного (обратного) vector.

const_reverse_iterator rend () const

VectorExpression

Возвращает const_reverse_iterator, указывающий на конец инвертированного (обратного) vector.

reverse_iterator rbegin ()

VectorExpression

Возвращает reverse_iterator, указывающий на начало инвертированного (обратного) vector.

reverse_iterator rend ()

VectorExpression

Возвращает reverse_iterator, указывающий на начало инвертированного (обратного) vector.

Примечание

[1] Основные параметры для массива-хранилища (Storage array): unbounded_array<T> , bounded_array<T> и std::vector<T> .

Единичный вектор

Описание

Шаблонный класс unit_vector<T> представляет канонические единичные вектора. Для the k и n-размерного канонического единичного вектора и 0 <= i < n содержащего элементы uki = 0, если i <> k, и uki = 1.

Пример

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>

int main () {
    using namespace boost::numeric::ublas;
    for (int i = 0; i < 3; ++ i) {
        unit_vector<double> v (3, i);
        std::cout << v << std::endl;
    }
}

Будет выведено на экран:

[3](1,0,0)
[3](0,1,0)
[3](0,0,1)

Определение

Определен в заголовочном файле vector.hpp.

Параметры шаблона

Параметр

Описание

Значение по умолчанию

T

Тип объектов, размещаемых в векторе.

int

Публичный базовый класс

vector_container<unit_vector<T> >

Члены

Член

Описание

unit_vector ()

Создание unit_vector, содержащего ноль элементов.

unit_vector (size_type size, size_type index)

Создание объекта unit_vector с индексом index, содержащегоn size элементов.

unit_vector (const unit_vector &v)

Конструктор копирования.

void resize (size_type size, bool preserve = true)

Изменение размера unit_vector до размера в size элементов. Существующие элементы unit_vector всегда сохраняются.

size_type size () const

Возвращает размер unit_vector.

size_type index () const

Возвращает индекс unit_vector.

const_reference operator () (size_type i) const

Возвращает значение i-го элемента.

const_reference operator [] (size_type i) const

Возвращает значение i-го элемента.

unit_vector &operator = (const unit_vector &v)

Оператор присваивания.

unit_vector &assign_temporary (unit_vector &v)

Устанавливает временный вектор. Может изменять единичный вектор v.

void swap (unit_vector &v)

Обменивает содержимое векторов.

const_iterator begin () const

Возвращает const_iterator, указывающий на начало unit_vector.

const_iterator end () const

Возвращает const_iterator, указывающий на конец unit_vector.

const_reverse_iterator rbegin () const

Возвращает const_reverse_iterator, указывающий на начало инвертированного (обратного) unit_vector.

const_reverse_iterator rend () const

Возвращает const_reverse_iterator, указывающий на конец инвертированного (обратного) unit_vector.

Нулевой вектор

Описание

Шаблонный класс zero_vector<T> представляет нулевые вектора. Для n-размерного нулевого вектора и 0 <= i < n элементы zi = 0.

Пример

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>

int main () {
    using namespace boost::numeric::ublas;
    zero_vector<double> v (3);
    std::cout << v << std::endl;
}

Будет выведено на экран:

[3](0,0,0)

Определение

Определен в заголовочном файле vector.hpp.

Параметры шаблона

Параметр

Описание

Значение по умолчанию

T

Тип объектов, размещаемых в векторе.

int

Является моделью класса

Вектор .

Публичный базовый класс

vector_container<zero_vector<T> >

Функции-члены

Функция-член

Описание

zero_vector ()

Создание zero_vector, содержащего 0 элементов.

zero_vector (size_type size)

Создание zero_vector, содержащего size элементов.

zero_vector (const zero_vector &v)

Конструктор копирования.

void resize (size_type size, bool preserve = true)

Изменяет размер zero_vector до размера в size элементов. Существующие элементы zero_vector всегда сохраняются.

size_type size () const

Возвращает разме zero_vector.

const_reference operator () (size_type i) const

Возвращает значение i-го элемента.

const_reference operator [] (size_type i) const

Возвращает значение i-го элемента.

zero_vector &operator = (const zero_vector &v)

Оператор присваивания.

zero_vector &assign_temporary (zero_vector &v)

Устанавливает временный вектор. Может изменять нулевой вектор v.

void swap (zero_vector &v)

Обменивает содержимое нулевых векторов.

const_iterator begin () const

Возвращает const_iterator, указывающий на начало zero_vector.

const_iterator end () const

Возвращает const_iterator, указывающий на конец zero_vector.

const_reverse_iterator rbegin () const

Возвращает const_reverse_iterator, указывающий на начало инвертированного (обратного) zero_vector.

const_reverse_iterator rend () const

Возвращает const_reverse_iterator, указывающий на конец инвертированного (обратного) zero_vector.

Скалярный вектор

Описание

Шаблонный класс scalar_vector<T> представляет скалярные вектора. Для n-размерного скалярного вектора и 0 <= i < n элементы zi = s.

Пример

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>

int main () {
    using namespace boost::numeric::ublas;
    scalar_vector<double> v (3);
    std::cout << v << std::endl;
}

Будет выведено на экран:

[3](1,1,1)

Определение

Определен в заголовочном файле vector.hpp.

Параметры шаблона

Параметр

Описание

Значение по умолчанию

T

Тип объектов, размещаемых в векторе.

int

Является моделью класса

Вектор.

Публичный базовый класс

vector_container<scalar_vector<T> >

Функции-члены

Функция-член

Description

scalar_vector ()

Создание scalar_vector, содержащего 0 элементов.

scalar_vector (size_type size, const value_type &value)

Создание scalar_vector, содержащего size элементов, каждый с определенным значением.

scalar_vector (const scalar_vector &v)

Конструктор копирования.

void resize (size_type size, bool preserve = true)

Изменяет размер scalar_vector до размера в size элементов. Существующие элементы scalar_vector всегда сохраняются.

size_type size () const

Возвращает размер scalar_vector.

const_reference operator () (size_type i) const

Возвращает значение i-го элемента.

const_reference operator [] (size_type i) const

Возвращает значение i-го элемента.

scalar_vector &operator = (const scalar_vector &v)

Оператор присваивания.

scalar_vector &assign_temporary (scalar_vector &v)

Устанавливает временный вектор. Может изменять скалярный вектор v.

void swap (scalar_vector &v)

Обменивает содержимое скалярный векторов.

const_iterator begin () const

Возвращает const_iterator, указывающий на начало scalar_vector.

const_iterator end () const

Возвращает const_iterator, указывающий на конец scalar_vector.

const_reverse_iterator rbegin () const

Возвращает const_reverse_iterator, указывающий на начало инвертированного (обратного) scalar_vector.

const_reverse_iterator rend () const

Возвращает const_reverse_iterator, указывающий на конец инвертированного (обратного) scalar_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 год.