Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Sparse Vector

Mapped Vector

Description

Класс шаблоновmapped_vectorявляется базовым адаптером контейнеров для разреженных векторов с использованием карт элементов. Дляn-мерного разреженного вектора и0<= i< nненулевые элементыviсопоставляются с последовательными элементами ассоциативного контейнера, т.е. для элементовk=vi1иk + 1 = vi2контейнерных трюмовi1< i2.

Example

#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;
}

Definition

Определяется в заголовке vector_sparse.hpp.

Template parameters

Parameter Description Default
Т Тип объекта, хранящегося в нанесённом на карту векторе.
А Тип адаптированного массива. map_std

Model of

Вектор.

Type requirements

И не только для тех, кто в этом нуждается,.

Public base classes

vector_container>

Members

Member Description
mapped_vector () Выделяетотображенный вектор, который содержит нулевые элементы.
mapped_vector (size_type size, size_type non_zeros = 0) нанесённый на карту вектор, который содержит не болееразмерэлементов.
mapped_vector (const mapped_vector &v) Конструктор копий.
template
mapped_vector (size_type non_zeros, const vector_expression&ae)
Конструктор расширенной копии.
void resize (size_type size, bool preserve = true) Перемещаетотображенный вектордля удержания не болееразмераэлементов. Существующие элементыmapped_vectorпредвидены при указании.
size_type size () const Возвращает размер отображенного вектора.
const_reference operator () (size_type i) const Возвращает значение элементаi.
оператор связи () (размер_тип i) Возвращает ссылку наi-й элемент.
const_reference operator [] (size_type i) const Возвращает значение элементаi.
справочный оператор [] (размер_тип i) Возвращает ссылку наi-й элемент.
mapped_vector &operator = (const mapped_vector &v) Оператор назначения.
mapped_vector &assign_temporary (mapped_vector &v) Назначает временное. Может изменять векторv.
template
mapped_vector &operator = (const vector_expression&ae)
Оператор расширенного назначения.
template
mapped_vector &assign (const vector_expression&ae)
Назначает векторное выражение на отображенный вектор. Левая и правая стороны задания должны быть независимыми.
template
mapped_vector &operator += (const vector_expression&ae)
Вычисленный оператор назначения. Добавляет векторное выражение к отображаемому вектору.
template
mapped_vector &plus_assign (const vector_expression&ae)
Добавляет векторное выражение к отображаемому вектору. Левая и правая стороны задания должны быть независимыми.
template
mapped_vector &operator -= (const vector_expression&ae)
Вычисленный оператор назначения. Вычитает векторное выражение из отображенного вектора.
template
mapped_vector &minus_assign (const vector_expression&ae)
Вычитает векторное выражение из отображенного вектора. Левая и правая стороны задания должны быть независимыми.
template
mapped_vector &operator *= (const AT &at)
Вычисленный оператор назначения. Умножает отображаемый вектор на скаляр.
template
mapped_vector &operator/= (const AT &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-м элементе.
Чистая пустота Очищает намеченный вектор.
const_iterator start () const Возвращаетconst_iterator, указывающий на началоmapped_vector.
const_iterator end () const Возвращаетconst_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.

Notes

Поддерживаемыми параметрами для адаптированного массива являютсяmap_arrayиmap_std. Последний эквивалентенstd::map.

Compressed Vector

Description

Шаблонный классcompressed_vectorявляется базовым адаптером контейнеров для сжатых векторов. Дляn-мерного сжатого вектора и0<= i< nненулевые элементыviотображаются на последовательные элементы контейнера с индексом и значением, т.е. для элементовkvиk + 1 = vиз этих контейнеров удерживаетi[29

Example

#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;
}

Definition

Определяется в заголовке vector_sparse.hpp.

Template parameters

Parameter Description Default
Т Тип объекта, хранящегося в сжатом векторе.
ИБ Индексная база сжатого вектора. 0
ИА Тип адаптированного массива для индексов. unbounded_array
Та Тип адаптированного массива для значений. unbounded_array

Model of

Вектор.

Type requirements

И не только для тех, кто в этом нуждается,.

Public base classes

vector_container>

Members

Member Description
compressed_vector () Выделяетсжатый вектор, который содержит нулевые элементы.
compressed_vector (size_type size, size_type non_zeros) Выделяетсжатый вектор, который содержит не болееразмерэлементов.
compressed_vector (const compressed_vector &v) Конструктор копий.
template
compressed_vector (size_type non_zeros, const vector_expression&ae)
Конструктор расширенной копии.
void resize (size_type size, bool preserve = true) Перемещаетсжатый вектордля удержания не болееразмеровэлементов. Существующие элементыcompress_vectorпредвидятся при указании.
size_type size () const Возвращает размерсжатого вектора.
const_reference operator () (size_type i) const Возвращает значение элементаi.
оператор связи () (размер_тип i) Возвращает ссылку наi-й элемент.
const_reference operator [] (size_type i) const Возвращает значение элементаi.
справочный оператор [] (размер_тип i) Возвращает ссылку наi-й элемент.
compressed_vector &operator = (const compressed_vector &v) Оператор назначения.
compressed_vector &assign_temporary (compressed_vector &v) Назначает временное. Может изменять сжатый векторv.
template
compressed_vector &operator = (const vector_expression&ae)
Оператор расширенного назначения.
template
compressed_vector &assign (const vector_expression&ae)
Назначает векторное выражение сжатому вектору. Левая и правая стороны задания должны быть независимыми.
template
compressed_vector &operator += (const vector_expression&ae)
Вычисленный оператор назначения. Добавляет векторное выражение к сжатому вектору.
template
compressed_vector &plus_assign (const vector_expression&ae)
Добавляет векторное выражение к сжатому вектору. Левая и правая стороны задания должны быть независимыми.
template
compressed_vector &operator -= (const vector_expression&ae)
Вычисленный оператор назначения. Вычитает векторное выражение из сжатого вектора.
template
compressed_vector &minus_assign (const vector_expression&ae)
Вычитает векторное выражение из сжатого вектора. Левая и правая стороны задания должны быть независимыми.
template
compressed_vector &operator *= (const AT &at)
Вычисленный оператор назначения. Умножает сжатый вектор на скаляр.
template
compressed_vector &operator/= (const AT &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-м элементе.
Чистая пустота Очищает сжатый вектор.
const_iterator start () const Возвращаетconst_iterator, указывающий на началосжатого_vector.
const_iterator end () const Возвращаетconst_iterator, указывающий на конецсжатого_vector.
Итератор начинается Возвращаетитератор, указывающий на началосжатого вектора.
конец итератора Возвращаетитератор, указывающий на конецсжатого вектора.
const_reverse_iterator rbegin () const Возвращаетconst_reverse_iterator, указывающий на начало обратногосжатого_vector.
const_reverse_iterator rend () const Возвращаетconst_reverse_iterator, указывающий на конец обратногосжатого_vector.
reverse_iterator rbegin () Возвращаетreverse_iterator, указывающий на начало обратногоcompressed_vector.
reverse_iterator rend Возвращаетreverse_iterator, указывающий на конец обратногоcompressed_vector.

Notes

Поддерживаемые параметры для индексной базы составляют0и1по меньшей мере.

Поддерживаемыми параметрами для адаптированного массива являютсяunbounded_array<>,bounded_array<>иstd::vector<>.

Coordinate Vector

Description

Шаблонный классcoordinate_vectorявляется базовым адаптером контейнеров для сжатых векторов. Дляn-мерного отсортированного вектора координат и0<= i< nненулевые элементыii=vi[4

Example

#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;
}

Definition

Определяется в заголовке vector_sparse.hpp.

Template parameters

Parameter Description Default
Т Тип объекта, хранящегося в векторе координат.
ИБ Индексная база вектора координат. 0
ИА Тип адаптированного массива для индексов. unbounded_array
Та Тип адаптированного массива для значений. unbounded_array

Model of

Вектор.

Type requirements

И не только для тех, кто в этом нуждается,.

Public base classes

vector_container>

Members

Member Description
координата_вектор () Выделяеткоординатный вектор, который содержит нулевые элементы.
coordinate_vector (size_type size, size_type non_zeros) Выделяеткоординатный вектор, который содержит не болееразмерэлементов.
coordinate_vector (const coordinate_vector &v) Конструктор копий.
template
coordinate_vector (size_type non_zeros, const vector_expression&ae)
Конструктор расширенной копии.
void resize (size_type size, bool preserve = true) Перемещает координатный вектордля удержания не болееразмераэлементов. Существующие элементы координатного векторапредвидены при указании.
size_type size () const Возвращает размер координатного вектора.
const_reference operator () (size_type i) const Возвращает значение элементаi.
оператор связи () (размер_тип i) Возвращает ссылку наi-й элемент.
const_reference operator [] (size_type i) const Возвращает значение элементаi.
справочный оператор [] (размер_тип i) Возвращает ссылку наi-й элемент.
coordinate_vector &operator = (const coordinate_vector &v) Оператор назначения.
coordinate_vector &assign_temporary (coordinate_vector &v) Назначает временное. Может изменять вектор координатv.
template
coordinate_vector &operator = (const vector_expression&ae)
Оператор расширенного назначения.
template
coordinate_vector &assign (const vector_expression&ae)
Назначает векторное выражение вектору координат. Левая и правая стороны задания должны быть независимыми.
template
coordinate_vector &operator += (const vector_expression&ae)
Вычисленный оператор назначения. Добавляет векторное выражение к вектору координат.
template
coordinate_vector &plus_assign (const vector_expression&ae)
Добавляет векторное выражение к вектору координат. Левая и правая стороны задания должны быть независимыми.
template
coordinate_vector &operator -= (const vector_expression&ae)
Вычисленный оператор назначения. Вычитает векторное выражение из вектора координат.
template
coordinate_vector &minus_assign (const vector_expression&ae)
Вычитает векторное выражение из вектора координат. Левая и правая стороны задания должны быть независимыми.
template
coordinate_vector &operator *= (const AT &at)
Вычисленный оператор назначения. Умножает вектор координат на скаляр.
template
coordinate_vector &operator/= (const AT &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-му элементу. Дублирующие элементы могут быть добавлены к координатному вектору. Они сливаются в один арифметически суммированный элемент с помощью функциисорт.
void erase_element (size_type i) Стирает значение наi-м элементе.
Чистая пустота Очищает вектор координат.
const_iterator start () const Возвращаетconst_iterator, указывающий на началокоординаты_вектор.
const_iterator end () const Возвращаетconst_iterator, указывающий на конецкоординаты_вектора.
Итератор начинается Возвращает итератор, указывающий на начало координатного вектора.
конец итератора Возвращаетитератор, указывающий на конецкоординатного вектора.
const_reverse_iterator rbegin () const Возвращаетconst_reverse_iterator, указывающий на начало обратногокоординаты_вектора.
const_reverse_iterator rend () const Возвращаетconst_reverse_iterator, указывающий на конец обратногокоординаты_вектора.
reverse_iterator rbegin () Возвращаетreverse_iterator, указывающий на начало обратногоcoordinate_vector.
reverse_iterator rend Возвращаетreverse_iterator, указывающий на конец обратногоcoordinate_vector.

Notes

Поддерживаемые параметры для индексной базы составляют0и1по меньшей мере.

Поддерживаемыми параметрами для адаптированного массива являютсяunbounded_array<>,bounded_array<>иstd::vector<>.


Авторское право (©) 2000-2002 Йорг Уолтер, Матиас Кох
На использование, модификацию и распространение распространяется лицензия Boost Software License, Version 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресу) http://www.boost.org/LICENSE_1_0.txt.

Статья раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 00:43:10/0.0055828094482422/0