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

deque

Boost , Chapter 1. Fusion 2.2 , Container

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

PrevUpHomeNext
Description

<deque>— это простаядвунаправленная последовательность, которая поддерживает постоянную вставку и удаление элементов на обоих концах. Подобно<list>и.<cons>,<deque>более эффективен, чем<vector>(особенно во время компиляции), когда целевая последовательность построена по частям (данные за раз, например, при построении шаблонов выражения). Подобно<list>и.<cons>, стоимость выполнения каждого элемента является особенно постоянной (см.Рекурсивные встроенные функции).).

Введение и удаление элементов производится специальными<deque>вспомогательными классами<front_extended_deque>и<back_extended_deque>.

Header
#include <boost/fusion/container/deque.hpp>
#include <boost/fusion/include/deque.hpp>
#include <boost/fusion/container/deque/deque_fwd.hpp>
#include <boost/fusion/include/deque_fwd.hpp>
Synopsis
template <typename ...Elements>
struct deque;

Для компиляторов C++11 интерфейс вариадного класса не имеет верхней границы.

Для компиляторов C++03 интерфейс вариадного класса принимает<0>к<FUSION_MAX_DEQUE_SIZE>элементам, где<FUSION_MAX_DEQUE_SIZE>является определяемым пользователем предопределенным максимумом, который по умолчанию соответствует<10>. Пример:

deque<int, char, double>

Вы можете определить константу препроцессора<FUSION_MAX_DEQUE_SIZE>перед включением любого заголовка Fusion для изменения по умолчанию. Пример:

#define FUSION_MAX_DEQUE_SIZE 20
Template parameters

Параметр

Описание

по умолчанию

<Elements>

Element types

Model of

Notation

D

Тип<deque>

d, d2

Случаи<deque>

e0...en

Неоднородные значения

s

Последовательность

N

Интегральная постоянная MPL

Expression Semantics

Семантика выражения определяется только там, где она отличается или не определена вДвунаправленной последовательности.

выражение

Семантика

D()

Создает деке с построенными по умолчанию элементами.

D(e0, e1,... en)

Creates a deque with elements e0...en.

D(s)

Копия строит деке изпередней последовательности,<s>.

d = s

Assigns to a deque, d, from a Forward Sequence, s.

at<N>(d)

The Nth element from the beginning of the sequence; see at.

[Note] Note

<at><N>d]предоставляется для удобства, несмотря на то, что<deque>являетсяДвунаправленной последовательностьютолько<at>предполагаетсяПоследовательность случайного доступа. Сложность выполнения<at>постоянна (см.Рекурсивные встроенные функции).<deque>Доступ к элементам использует перегрузку оператора с помощью аргумента зависимого поиска (ADL) правильной функции приемника элементов с учетом статического постоянного индексного параметра. Интересно, что с современными компиляторами C++ этот поиск очень быстрый и конкурирует с рекурсивными инстанциями шаблонов в скорости компиляции времени, так что<deque>полагается на ADL для доступа ко всем элементам (индексирование), а также итерация.

Example
deque<int, float> d(12, 5.5f);
std::cout << at_c<0>(d) << std::endl;
std::cout << at_c<1>(d) << std::endl;

PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 06:32:21/0.0042860507965088/0