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

Sparse Storage

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 Storage

Default Standard Map

Description

Шаблон класса<map_std<I, T, ALLOC>>обеспечивает обертку для стандартного библиотечного ассоциативного контейнера<std::map>. Обертка имеет одну простую цель. Он позволяет определить параметр шаблона по умолчанию (для адаптированного массива) при объявлении разреженных типов контейнеров.

Example

#include <boost/numeric/ublas/storage_sparse.hpp>
int main () {
    using namespace boost::numeric::ublas;
    map_std<int, double> a (3);
    for (unsigned i = 0; i < a.size (); ++ i) {
        a [i] = i;
        std::cout << a [i] << std::endl;
    }
}

Definition

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

Template parameters

Parameter Description Default
<I> Тип индекса, хранящегося в массиве.
<T> Тип объекта, хранящегося в массиве.
<ALLOC> Распределитель STL Источник: Allocator

Model of

Обратимый контейнер.

Type requirements

Нет, за исключением тех, которые установлены требованиями обратимого контейнера.

Public base classes

std::map

Map Array

Description

Класс шаблонов<map_array<I, T, ALLOC>>реализует<std::map>как ассоциативный контейнер в виде сортированного массива. Таким образом, это часть интерфейса ассоциативного контейнера без той же семантики, что и std::map.

В любое время<map_array>имеет емкость, до которой может быть вставлен новый элемент. Если<insert>приведёт к тому, что размер<map_array>превысит его ёмкость, топерераспределится. Итераторы и ссылки недействительны. Пропускная способность может управляться непосредственно с помощью функции<reserve>.

Example

#include <boost/numeric/ublas/storage_sparse.hpp>
int main () {
    using namespace boost::numeric::ublas;
    map_array<int, double> a (3);
    for (unsigned i = 0; i < a.size (); ++ i) {
        a [i] = i;
        std::cout << a [i] << std::endl;
    }
}

Definition

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

Template parameters

Parameter Description Default
<I> Тип индекса, хранящегося в массиве.
<T> Тип объекта, хранящегося в массиве.
<ALLOC> Распределитель STL Источник: Allocator

Model of

Обратимый контейнер.

Type requirements

Нет, за исключением тех, которые установлены требованиями обратимого контейнера.

Public base classes

Нет.

Members

Member Description
<map_array (ALLOC &a = ALLOC())> Выделяет<map_array>, который содержит не более нуля элементов.
<map_array (const map_array &c)> Конструктор копий.
<~map_array ()> В ней содержится<map_array>.
<void reserve (size_type capacity)> Изменить его<map_array>. Он может удерживать максимум<capacity>элементов без перераспределения. Их количество может быть уменьшено<capacity >= size()>. Содержание<map_array>сохраняется.
<size_type size () const> Возвращает размер<map_array>.
<size_type size () const> Возвращает способность<map_array>.
<data_reference operator [] (index_type i)> Возвращает ссылку на элемент, который связан с конкретным индексом. Если<map_array>уже не содержит такого элемента,<operator[]>вставляет по умолчанию<T ()>.
<map_array &operator = (const map_array &a)> Оператор назначения.
<map_array &assign_temporary (map_array &a)> Назначает временное. Может ли измениться<a>.
<void swap (map_array &a)> Изменяет содержимое массивов.
<std::pairinsert (const value_type &p)> Вставить<p>в массив. Вторая часть значения возврата<true>, если<p>было вставлено, и<false>, если не было вставлено, потому что это было вставлено.
<iterator insert (iterator it, const value_type &p)> Вставьте<p>в массив, используя<it>в качестве подсказки, где он будет вставлен.
<void erase (iterator it)> Снижает значение<it>.
<void clear ()> Очищает массив.
<const_iterator find (index_type i) const> Найден элемент, индекс которого<i>.
<iterator find (index_type i)> Найден элемент, индекс которого<i>.
<const_iterator lower_bound (index_type i) const> Найден первый элемент, индекс которого не меньше<i>.
<iterator lower_bound (index_type i)> Найден первый элемент, индекс которого не меньше<i>.
<const_iterator upper_bound (index_type i) const> Найден первый элемент, индекс которого больше<i>.
<iterator upper_bound (index_type i)> Найден первый элемент, индекс которого больше<i>.
<const_iterator begin () const> <const_iterator>, что указывает на начало<map_array>.
<const_iterator end () const> Возвращает<const_iterator>, указывая на конец<map_array>.
<iterator begin ()> <iterator>, что указывает на начало<map_array>.
<iterator end ()> Возвращает<iterator>, указывая на конец<map_array>.
<const_reverse_iterator rbegin () const> Возвращает<const_reverse_iterator>, указывая на начало обратного<map_array>.
<const_reverse_iterator rend () const> <const_reverse_iterator>Возвращается, указывая на конец обратного<map_array>.
<reverse_iterator rbegin ()> <reverse_iterator>, что указывает на начало обратного<map_array>.
<reverse_iterator rend ()> <reverse_iterator>Возвращается, указывая на конец обратного<map_array>.

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

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 13:54:10/0.0058538913726807/1