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

Container

Boost , Chapter 1. Phoenix 3.2.0 , STL

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
#include <boost/phoenix/stl/container.hpp>

Контейнерный модуль предопределяет набор ленивых функций, которые работают на контейнерах STL. Эти функции обеспечивают механизм ленивой оценки общественных функций контейнеров STL. Ленивые функции представляют собой тонкие обертки, которые просто пересылаются своим соответствующим коллегам в библиотеке STL.

Ленивые функции предусмотрены для всех членских функций следующих контейнеров:

  • дека
  • список
  • карта
  • мультикарта
  • вектор

Действительно, если в вашем классе есть функции-члены с теми же именами и подписями, что и перечисленные ниже, то он будет автоматически поддерживаться. Подводя итог, ленивые функции предусмотрены для членских функций:

  • назначать
  • в
  • назад
  • начинать
  • потенциал
  • ясный
  • пустой
  • конец
  • стирать
  • фронт
  • Get_allocator
  • вставить
  • key_comp
  • max_size
  • pop-back
  • Pop-front
  • push_back
  • push_front
  • бегин
  • сгибать
  • резерв
  • изменять размер
  • изменять размер
  • сплайс
  • value_comp

Названия ленивых функций те же, что и функции соответствующих членов. Разница в том, что ленивые функции являются свободными функциями и поэтому не используют синтаксис точки-члена.

Table 1.4. Sample usage

«Обычная» версия

«Ленькая» версия

<my_vector.at(5)>

<at(arg1, 5)>

<my_list.size()>

<size(arg1)>

<my_vector1.swap(my_vector2)>

<swap(arg1, arg2)>


Обратите внимание, что функции-члены с именами, которые сталкиваются с алгоритмами stl, отсутствуют. Это будет представлено в модуле алгоритма Phoenix.

Здесь нет поддержки для ленивых версий<operator+=>,<operator[]>и т. д. Такие операторы не являются специфическими для контейнеров STL, и поэтому ленивые версии можно найти воператорах.

В следующей таблице описаны функции контейнера и их семантика.

Table 1.5. Lazy STL Container Functions

Функция

Семантика

<assign(c, a[, b, c])>

<c.assign(a[, b, c])>

<at(c, i)>

<c.at(i)>

<back(c)>

<c.back()>

<begin(c)>

<c.begin()>

<capacity(c)>

<c.capacity()>

<clear(c)>

<c.clear()>

<empty(c)>

<c.empty()>

<end(c)>

<c.end()>

<erase(c, a[, b])>

<c.erase(a[, b])>

<front(c)>

<c.front()>

<get_allocator(c)>

<c.get_allocator()>

<insert(c, a[, b, c])>

<c.insert(a[, b, c])>

<key_comp(c)>

<c.key_comp()>

<max_size(c)>

<c.max_size()>

<pop_back(c)>

<c.pop_back()>

<pop_front(c)>

<c.pop_front()>

<push_back(c, d)>

<c.push_back(d)>

<push_front(c, d)>

<c.push_front(d)>

<pop_front(c)>

<c.pop_front()>

<rbegin(c)>

<c.rbegin()>

<rend(c)>

<c.rend()>

<reserve(c, n)>

<c.reserve(n)>

<resize(c, a[, b])>

<c.resize(a[, b])>

<size(c)>

<c.size()>

<splice(c, a[, b, c, d])>

<c.splice(a[, b, c, d])>

<value_comp(c)>

<c.value_comp()>



PrevUpHomeNext

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




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



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


реклама


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

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