Интернет-магазинИнтернет-магазин
| Начало | Новинки | Корзина |
  Главная » Каталог » Компьютерная литература » Языки и системы программирования » C/C++. Языки программирования Си, Си++ » Расширение библиотеки STL для C++ Наборы и итераторы (+CD). Уилсон М.
Разделы
Бизнес (508)
Воспитание. Образование. (170)
Радиоэлектроника (79)
Каталоги (6)
Компьютерная литература (3224)
  Базы данных (100)
  Графика, дизайн, мультимедиа (322)
  Разработка программного обеспечения (57)
  Компьютерная безопасность. Хакерство (80)
  Компьютерные сети. Интранет, корпоративные сети (59)
  Компьютеры и программы (1052)
  Интернет и Web-страницы (326)
  Операционные системы (Windows, Linux...) (297)
  Основы программирования (40)
  MS Office. Офисные программы Майкрософт (188)
  Системы проектирования (CAD/CAM) (257)
  Сертификационные экзамены (6)
  Энциклопедии и словари по вычислительной технике, программированию, интернет (17)
  Цифровая фотография (36)
  Языки и системы программирования (387)
    Ассемблер для ПК на платформе Intel (13)
    C#. Язык программирования Си Шарп (28)
    C++ в среде разработки Visual C++ (14)
    C++ в среде разработке C++ Builder (15)
    C/C++. Языки программирования Си, Си++ (74)
    Delphi, Kylix. Среда разработки на Паскале (57)
    Паскаль, Turbo Pascal. Язык программирования (23)
    Программирование на языках .NET (44)
    Java, J++. Языки программирования (37)
    Фортран (2)
    Visual Basic. Язык программирования (24)
    Языки программирования (прочие) (42)
Кулинария (1)
Популярная психология (71)
Психология (132)
Психотерапия и психоанализ (15)
Полный список товаров
Издатели
Новинки Перейти
"ПРОДУКТЫ, ОБОРУДОВАНИЕ, ТАРА, УПАКОВКА  2009-2010»
"ПРОДУКТЫ, ОБОРУДОВАНИЕ, ТАРА, УПАКОВКА 2009-2010»
90.00 грн.
Реклама
Уважаемые посетители! Магазин работает в режиме виртуальной витрины. Прием заказов временно приостановлен.
Расширение библиотеки STL для C++ Наборы и итераторы (+CD). Уилсон М. 213.60 грн.
Предыдущий товар Товар 31 из 74
категории C/C++. Языки программирования Си, Си++
 Следующий товар
 
box_bg_l.gif.

В книге известный специалист по языку C++ Мэтью Уилсон демонстрирует, как
выйти за пределы стандарта C++ и расширить стандартную библиотеку шаблонов,
применив лежащие в ее основе принципы к различным API и нестандартным наборам, чтобы получить более эффективные, выразительные, гибкие и надежные программы.
Автор описывает передовые приемы, которые помогут вам в совершенстве
овладеть двумя важными темами: адаптация API библиотек и операционной
системы к STL-совместимым наборам и определение нетривиальных адаптеров
итераторов. Это даст вам возможность в полной мере реализовать заложенные в STL
возможности для написания эффективных и выразительных программ. На реальных примерах Уилсон иллюстрирует ряд важных концепций и технических приемов, позволяющих расширить библиотеку STL в таких направлениях, о которых ее создатели даже не думали, в том числе: наборы, категории ссылок на элементы, порча итераторов извне и выводимая адаптация интерфейса.
Эта книга станет неоценимым подспорьем для любого программиста на C++, хотя
бы в минимальной степени знакомого с STL.
На прилагаемом компакт-диске находится обширная коллекция открытых библиотек, созданных автором. Также включено несколько тестовых проектов и три дополнительных главы.

608 стр.; формат 70*100 1/16; ISBN 978-5-9775-0196-5; CD-ROM; 2008г.; BHV-СПб.

 

Содержание

Предисловие  
Цели  
Предмет обсуждения  
Организация книги  
Дополнительные материалы  
Благодарности  
Об авторе  
Пролог  
Дихотомия объекта исследования  
Принципы программирования в системе UNIX  
Семь признаков успешных библиотек на C++  
Эффективность  
Понятность и прозрачность  
Выразительные возможности  
Надежность  
Гибкость  
Модульность  
Переносимость  
Поиск компромиссов: довольство тем, что имеешь, диалектизм и идиомы  
Примеры библиотек  
STLSoft  
Подпроекты STLSoft  
Boost  
Open)RJ  
Pantheios  
recls  
Типографские соглашения  
Шрифты  
. . . сравни  
Предварительное вычисление концевого итератора  
Квалификация типа вложенного класса  
Содержание NULL  
Имена параметров шаблона  
Имена типов)членов и типов в области видимости пространства имен ...  
Соглашения о вызове  
Концевые итераторы  
Пространство имен для имен из стандартной библиотеки C  
Адаптеры классов и адаптеры экземпляров  
Имена заголовочных файлов  

Часть I. Основы

 

Глава 1. Стандартная библиотека шаблонов

 
1.1.Основные понятия  
1.2.Контейнеры  
1.2.1.Последовательные контейнеры  
1.2.2.Ассоциативные контейнеры  
1.2.3.Непрерывность памяти  
1.2.4.swap  
1.3. Итераторы  
1.3.1.Итераторы ввода  
1.3.2.Итераторы вывода  
1.3.3.Однонаправленные итераторы  
1.3.4.Двунаправленные итераторы  
1.3.5.Итераторы с произвольным доступом  
1.3.6.Оператор выбора члена  
1.3.7.Предопределенные адаптеры итераторов  
1.4.Алгоритмы  
1.5.Объекты)функции  
1.6.Распределители  

Глава 2. Концепции расширения STL, или КакSTL ведет себя при встрече с реальным миром

 
2.1 .Терминология  
2.2. Наборы  
2.2.1. Изменчивость  
2.3. Итераторы  
2.3.1.Изменчивость  
2.3.2.Обход  
2.3.3.Определение характеристик на этапе компиляции  
2.3.4.Категория ссылок на элементы  
2.3.5.Общее и независимое состояние  
2.3.6.Не пересмотреть ли классификацию итераторов?  
Содержание

Глава 3. Категории ссылок на элементы

 
3.1.Введение  
3.2.Ссылки в C++  
3.2.1. Ссылки на элементы STL)контейнеров  
3.3. Классификация ссылок на элементы  
3.3.1.Перманентные  
3.3.2.Фиксированные  
3.3.3.Чувствительные  
3.3.4.Недолговечные  
3.3.5.Временные по значению  
3.3.6.Отсутствующие  
3.4. Использование категорий ссылок на итераторы  
3.4.1.Определение категории на этапе компиляции  
3.4.2.Как компилятор может помочь избежать неопределенного поведения итератора  
3.5.Определение оператора operator)>()  
3.6.Еще о категориях ссылок на элементы  

Глава 4. Забавная безвременная ссылка

 

Глава 5. Принцип DRY SPOT

 
5.1. Принцип DRY SPOT в C++  
5.1.1.Константы  
5.1.2.Оператор dimensionof()  
5.1.3.Порождающие функции  
5.2. Когда в C++ приходится нарушать принцип DRYSPOT  
5.2.1.Родительские классы  
5.2.2.Типы значений, возвращаемых функциями  
5.3. Замкнутые пространства имен  

Глава 6. Закон дырявых абстракций

 

Глава 7. Программирование по контракту

 
7.1.Виды контроля  
7.2.Механизмы контроля  

Глава 8. Ограничения

 
8.1.Поддержка со стороны системы типов  
8.2.Статические утверждения  
Содержание

Глава 9. Прокладки

 
9.1.Введение  
9.2.Основные прокладки  
9.2.1.Атрибутные прокладки  
9.2.2.Конвертирующие прокладки  
9.3. Составные прокладки  
9.3.1. Прокладки строкового доступа  

Глава 10. Утка и гусь, или Занимательные основы частичного структурного соответствия

 
10.1. Соответствие  
10.1.1.Соответствие по имени  
10.1.2.Структурное соответствие  
10.1.3.Утка и гусь  
10.2. Явное семантическое соответствие  
10.2.1.Концепции  
10.2.2.Пометка с помощью типов"членов  
10.2.3.Прокладки  
10.3. Пересекающееся соответствие  

Глава 11. Идиома RAII

 
11.1.Изменчивость  
11.2.Источник ресурса  

Глава 12. Инструменты для работы с шаблонами

 
12.1 .Характеристические классы  
12.1.1.Класс base_type_traits  
12.1.2.Класс sign_traits  
12.1.3.Свойства типа: мини"характеристики  
12.1.4.Класс is_integral_type  
12.1.5.Класс is_signed_type  
12.1.6.Класс is_fundamental_type  
12.1.7.Класс is_same_type  
12.2. Генераторы типов  
12.2.1. Классstlsoft::allocator_selector  
12.3. Истинные typedef  

Глава 13. Выводимая адаптация интерфейса: адаптации типов с неполными интерфейсами на этапе компиляции

 
13.1. Введение  
Содержание 13.2.Адаптация типов с неполными интерфейсами  
13.3.Адаптация неизменяемых наборов  
13.4.Выводимая адаптация интерфейса  
13.4.1.Выбор типа  
13.4.2.Распознавание типа  
13.4.3.Исправление типа  
13.5. Применение МА к диапазону  

Глава 14. Гипотеза Хенни, или Шаблоны атакуют!

 

Глава 15. Независимые автономии друзей equal()

 
15.1.Опасайтесь неправильного использования функций"друзей, не являющихся членами  
15.2.Наборы и их итераторы  

Глава 16. Важнейшие компоненты

 
16.1.Введение  
16.2.Класс auto_buffer  
16.2.1.Это не контейнер!  
16.2.2.Интерфейс класса  
16.2.3.Копирование  
16.2.4.Воспитанные распределители идут последними  
16.2.5.Метод swap()  
16.2.6.Производительность  
16.3. Класс filesystem_traits  
16.3.1.Типы"члены  
16.3.2.Работа со строками  
16.3.3.Работа с именами из файловой системы  
16.3.4.Операции с состоянием объектов файловой системы  
16.3.5.Операции управления файловой системой  
16.3.6.Типы возвращаемых значений и обработка ошибок  
16.4. Классfile_path_buffer  
16.4.1.Класс basic_??  
16.4.2.UNIX и PATH_MAX  
16.4.3.Windows и MAX_PATH  
16.4.4.Использование буферов  
16.5.Класс scoped_handle  
16.6.Функция dl_call()  

Часть II. Наборы

 

Глава 17. Адаптация API glob

 
17.1. Введение  
Содержание 17.1.1.Мотивация  
17.1.2.API glob  
17.2.Анализ длинной версии  
17.3.Класс unixstl::glob_sequence  
17.3.1.Открытый интерфейс  
17.3.2.Типы)члены  
17.3.3.Переменные)члены  
17.3.4.Флаги  
17.3.5.Конструирование  
17.3.6.Размер и доступ к элементам  
17.3.7.Итерация  
17.3.8.Метод init_glob_()  
17.4.Анализ короткой версии  
17.5.Резюме  

Глава 18. Интерлюдия: конфликты в конструкторах и дизайн, который не то чтобы плох, но мало подходит для беспрепятственного развития

 

Глава 19. Адаптация API opendir/readdir

 
19.1. Введение  
19.1.1.Мотивация  
19.1.2.API opendir/readdir  
19.2.Анализ длинной версии  
19.3.Класс unixstl::readdir_sequence  
19.3.1 .Типы и константы)члены  
19.3.2.Конструирование  
19.3.3.Методы, относящиеся к размеру и итерированию  
19.3.4.Методы доступа к атрибутам  
19.3.5.const_iterator, версия 1  
19.3.6.Использование версии 1  
19.3.7.const_iterator, версия 2: семантика копирования  
19.3.8.operator++()  
19.3.9.Категория итератора и адаптируемые типы)члены  
19.3.10.operator)>()  
19.3.11.Поддержка флагов fullPath и absolutePath  
19.4. Альтернативные реализации  
19.4.1.Хранение элементов в виде мгновенного снимка  
19.4.2.Хранение элементов в виде итератора  
19.5. Резюме  

Глава 20. Адаптация API FindFirstFile/FindNextFile

 
20.1. Введение  
Содержание 20.1.1.Мотивация  
20.1.2.API FindFirstFile/FindNextFile  
20.2. Анализ примеров  
20.2.1.Длинная версия  
20.2.2.Короткая версия  
20.2.3.Точки монтирования и бесконечная рекурсия  
20.3.Проектирование последовательности  
20.4.Класс winstl::basic_findfile_sequence  
20.4.1.Интерфейс класса  
20.4.2.Конструирование  
20.4.3.Итерация  
20.4.4.Обработка исключений  
20.5. Класс winstl::basic_findfile_sequence_const_iterator  
20.5.1.Конструирование  
20.5.2.Методfind_first_file_()  
20.5.3.operator++()  
20.6.Класс winstl::basic_findfile_sequence_value_type  
20.7.Прокладки  
20.8.А где же шаблонные прокладки и конструкторы?  
20.9.Резюме  
20.10. Еще об обходе файловой системы с помощью recls  

Глава 21. Интерлюдия: о компромиссе между эффективностью и удобством использования: обход каталогов на FTPKсервере

 
21.1.Класс inetstl::basic_findfile_sequence  
21.2.Класс inetstl::basic_ftpdir_sequence  

Глава 22. Перебор процессов и модулей

 
22.1.Характеристики набора  
22.2.Класс winstl::pid_sequence  
22.2.1.Простые реализации на основе композиции  
22.2.2.Получение идентификаторов процессов  
22.2.3.Работа без поддержки исключений  
22.3.Класс winstl::process_module_sequence  
22.4.Перебор всех модулей в системе  
22.5.Исключение системных псевдопроцессов  
22.6.Когда заголовочные файлы API отсутствуют  
22.7.Резюме  

Глава 23. Числа Фибоначчи

 
23.1. Введение  
Содержание 23.2.Последовательность чисел Фибоначчи  
23.3.Последовательность чисел Фибоначчи как STL)последовательность  
23.3.1.Интерфейс бесконечной последовательности  
23.3.2.Заключим контракт  
23.3.3.Ане изменить ли тип значения?  
23.3.4.Ограничивающий тип  
23.3.5.Возбуждать ли исключение std::overflow_error?  
23.4.Трудности понимания  
23.5.Определение конечных границ  
23.5.1.Так все)таки итераторы?  
23.5.2.Диапазон, ограниченный конструктором  
23.5.3.Истинные typedef'ы  
23.6. Резюме  

Глава 24. Адаптация семейства MFCKконтейнеров САггау

 
24.1. Введение  
24.2. Мотивация  
24.3.Эмуляция std::vector  
24.4.Размышления над проектом  
24.4.1.Семейство контейнеров)массивов в MFC  
24.4.2.Класс CArray_traits  
24.4.3.Проектирование адаптеров массивов  
24.4.4.Абстрактное манипулирование состоянием  
24.4.5.Идиома копирования с обменом  
24.4.6.Композиция интерфейса набора  
24.4.7.Педагогический подход  
24.5.Интерфейс класса mfcstl::CArray_adaptor_base  
24.6.Класс mfcstl::CArray_cadaptor  
24.6.1.Объявление шаблона и наследование  
24.6.2.Применение паттерна CRTP  
24.6.3.Конструирование  
24.6.4.operator []()  
24.7.Класс mfcstl::CArray_iadaptor  
24.8.Конструирование  
24.9.Распределитель памяти  
24.10.Методы доступа к элементам  
24.11.Итерация  
24.11.1.Методы begin() и end()  
24.11.2.Методы rbegin()and rend()  
24.12. Размер  
24.12.1. Оптимизация выделения памяти  
24.13. Емкость  
Содержание 24.14. Сравнение  
24.15. Модификаторы  
24.15.1.Метод push_back()  
24.15.2.Метод assign()  
24.15.3.Методы pop_back() и clear()  
24.15.4.Метод erase()  
24.15.5.Метод insert()  
24.16. Присваивание и метод swap()  
24.16.1. Метод swap()  
24.17.Резюме  
24.18.На компакт)диске  

Глава 25. Карта окружающей местности

 
25.1.Введение  
25.2.Мотивация  
25.3.getenv(), putenv(), setenv()/unsetenv() и environ  
25.4.Класс platformstl::environment_variable_traits  
25.5.Планирование интерфейса  
25.6.Поиск по имени  
25.6.1. Вариант  
: возврат фиксированной/недолговечной ссылки накэшированный объект с актуальным значением  
25.6.2. Вариант  
: возврат фиксированной ссылки на кэшированный объект, содержащий значение на момент снимка  
25.6.3. Вариант  
: возврат фиксированной ссылки на кэшированный объект с актуальным значением  
25.6.4. Вариант  
: возврат временной по значению ссылки на актуальное значение  
25.6.5. Еще раз о поиске по имени  
25.7.Вставка, изменение и удаление значений по имени  
25.8.Итерация  
25.8.1.Версия 1: непрерывный итератор  
25.8.2.Версия 2: двунаправленный итератор  
25.8.3.Версия 3: мгновенный снимок  
25.8.4.Версия 4: снимокс подсчетом ссылок  
25.9. Окончательная реализация итерации  
25.9.1.Изменяемый снимок?  
25.9.2.Создание снимка  
25.9.3.Вложенный класс const_iterator  
25.9.4.Метод insert()  
25.9.5.Метод erase()  
25.9.6.Методы operator []() и lookup()  
25.9.7.Вложенный класс snapshot  
25.10. Гетерогенные категории ссылок?  
Содержание 25.11.Метод size() и индексирование числом  
25.12.Резюме  
25.13.На компакт)диске  

Глава 26. Путешествие по ZKплоскости - туда и обратно

 
26.1.Пролог  
26.2.Введение  
26.3.Версия 1: однонаправленная итерация  
26.3.1.Класс zorder_iterator, версия 1  
26.3.2.Класс window_peer_sequence, версия 1  
26.4.Версия 2: двунаправленная итерация  
26.5.Учет внешних изменений  
26.5.1. Класс stlsoft::external_iterator_invalidation  
26.6.Класс winstl::child_window_sequence  
26.7.Блюз, посвященный двунаправленным итераторам  
26.7.1.О стражах end()  
26.7.2.Убийственное двойное разыменование  
26.7.3.Когда двунаправленный итератор не является однонаправленным, но оказывается обратимым и клонируемым..  
26.8. winstl::zorder_iterator: итератор, обратный самому себе  
26.8.1.Характеристический класс для zorder_iterator  
26.8.2.Шаблон zorder_iterator_tmpl<>  
26.8.3.Семантика обратной итерации  
26.9. Завершающие штрихи в реализации последовательностей равноправных окон  
26.10.Резюме  
26.11.Еще о Z)плоскости  

Глава 27. Разбиение строки

 
27.1.Введение  
27.2.Функция strtok()  
27.3.Класс SynesisSTL::StringTokeniser  
27.4.Случаи, когда применяется разбиение строки  
27.5.Альтернативные средства разбиения строк  
27.5.1.Функция strtok_r()  
27.5.2.Библиотека IOStreams  
27.5.3.Функция stlsoft::find_next_token()  
27.5.4.Класс boost::tokenizer  
27.6. Класс stlsoft::string_tokeniser  
27.6.2.Выбор категории  
27.6.3.Класс stlsoft::string_tokeniser_type_traits  
27.6.4.Класс stlsoft::string_tokeniser_comparator  
Содержание 27.7. Тестирование  
27.7.1.Одиночный символ)разделитель  
27.7.2.Разделитель)строка  
27.7.3.Сохранение пустых лексем  
27.7.4.Копировать или сослаться: поговорим о представлениях ..  
27.8. Немного о политиках  
27.8.1.Переработка параметров шаблона с помощью наследования  
27.8.2.Шаблоны)генераторы типов  
27.8.3.Как быть с гипотезой Хенни?  
27.9. Производительность  
27.10. Резюме  

Глава 28. Адаптация энумераторов COM

 
28.1.Введение  
28.2.Мотивация  
28.2.1.Длинная версия  
28.2.2.Короткая версия  
28.3. Энумераторы COM  
28.3.1.Метод IEnumXXXX::Next()  
28.3.2.Метод IEnumXXXX::Skip()  
28.3.3.Метод IEnumXXXX::Reset()  
28.3.4.Метод IEnumXXXX::Clone()  
28.3.5.Различные типы значений  
28.4.Анализ длинной версии  
28.5.Класс comstl::enumerator_sequence  
28.5.1.Открытый интерфейс  
28.5.2.Типы и константы)члены  
28.5.3.Политики значений  
28.5.4.Переменные)члены  
28.5.5.Конструирование  
28.5.6.Методы итерации  
28.5.7.Методы итератора и корректность относительно const  
28.5.8.Нарушена семантика значения?  
28.6. Класс comstl::enumerator_sequence::iterator  
28.6.1.Конструирование  
28.6.2.Методы итерации  
28.6.3.Метод equal()  
28.7. Класс comstl::enumerator_sequence:: iterator:: enumeration_ context  
28.7.1.Зачем нужен контекст обхода?  
28.7.2.Определение класса  
28.7.3.Конструирование  
28.7.4.Вспомогательные методы для поддержки итераторов  
Содержание 28.7.5. Инвариант  
28.8. Политики клонирования итераторов  
28.8.1.Класс comstl::input_cloning_policy  
28.8.2.Класс comstl::forward_cloning_policy  
28.8.3.Класс comstl::cloneable_cloning_policy  
28.9. Выбор политики клонирования по умолчанию: применение принципа наименьшего удивления  
28.9.1. Метод empty()  
28.10. Резюме  
28.10.1.Почему по умолчанию не указывать однонаправленные итераторы?  
28.10.2.Почему по умолчанию не указывать итераторы ввода? ....  
28.10.3.Почему не ограничиться порциями размером 1?  
28.10.4.Почему не воспользоваться стандартным контейнером?...  
28.11. Следующий шаг  

Глава 29. Интерлюдия: исправление мелких упущений, касающихся выведения типаKчлена

 

Глава 30. Адаптация наборов COM

 
30.1.Введение  
30.2.Мотивация  
30.2.1.Длинная версия  
30.2.2.Короткая версия  
30.3. Класс comstl::collection_sequence  
30.3.1.Открытый интерфейс  
30.3.2.Типы и константы)члены  
30.3.3.Конструирование  
30.3.4.Итерация: чистое применение грязного трюка  
30.3.5.Замечание по поводу метода size()  
30.4.Политики получения энумератора  
30.5.Резюме  

Глава 31. Ввод/вывод с разнесением и сбором

 
31.1.Введение  
31.2.Ввод/выводс разнесением и сбором  
31.3.API ввода/вывода с разнесением и сбором  
31.3.1.Линеаризация с помощью COM)потоков  
31.3.2.Класс platformstl::scatter_slice_sequence - рекламный трейлер  
31.4. Адаптация класса ACE_Message_Queue  
31.4.1.Класс acestl::message_queue_sequence, версия 1  
31.4.2.Класс acestl::message_queue_sequence::iterator  
Содержание 31.5. О том, как садиться на ежа  
31.5.1.Кэп, эта посудина не может идти быстрее!  
31.5.2.Класс acestl::message_queue_sequence, версия 2  
31.5.3.Специализация стандартной библиотеки  
31.5.4.Производительность  
31.6. Резюме  

Глава 32. Изменение типа возвращаемого значения в зависимости от аргументов

 
32.1.Введение  
32.2.Одолжим рубину Ruby  
32.3.Двойственная семантика индексирования на C++  
32.4.Достижение обобщенной совместимости с помощью прокладок строкового доступа  
32.5.Как распознать целочисленность?  
32.6. Выбор типа возвращаемого значения и перегрузки  
32.6.1. Запрет индексов в виде целого со знаком  
32.7. Резюме  

Глава 33. Порча итератора извне

 
33.1.Когерентность элемента и интерфейса  
33.2.Элементы управления Windows ListBox и ComboBox  
33.2.1.Гонка при выборке?  
33.2.2.Классы listbox_sequence и combobox_sequence в библиотеке WinSTL  
33.3. Перебор разделов и значений реестра  
33.3.1.Так в чем проблема?  
33.3.2.Библиотека WinSTL Registry  
33.3.3.Обработка порчи итератора извне  
33.3.4.Класс winstl::basic_reg_key_sequence  
33.4.Резюме  
33.5.На компакт)диске  

Часть III. Итераторы

 

Глава 34.Усовершенствованный класс ostream_iterator

 
34.1.Введение  
34.2.Класс std::ostream_iterator  
34.2.1. Тип разности void  
34.3. Класс stlsoft::ostream_iterator  
34.3.1. Прокладки, что же еще  
Содержание 34.3.2.Безопасная семантика  
34.3.3.Совместимость с std::ostream_iterator  
34.3.4.Нарушение принципов проектирования?  
34.4.Определение операторов вставки в поток  
34.5.Резюме  

Глава 35. Интерлюдия: запрет бессмысленного синтаксиса итератора вывода с помощью паттерна Dereference Proxy

 
35.1. Класс stlsoft::ostream_iterator::deref_proxy  

Глава 36. Трансформирующий итератор

 
36.1.Введение  
36.2.Мотивация  
36.2.1.Использованиеstd::transform()  
36.2.2.Использование трансформирующего итератора  
36.3. Определение адаптеров итераторов  
36.3.1.Порождающие функции  
36.3.2.Тип значения  
36.4. Класс stlsoft: :transform_iterator  
36.4.1.Версия 1  
36.4.2.Конструирование  
36.4.3.Операторы инкремента и декремента и арифметические операции над указателями  
36.4.4.Сравнение и арифметические операции  
36.4.5.А проблема в том, что  
36.4.6.Версия 2  
36.4.7.Класс stlsoft: :transf orm_iterator  
36.5.Составные трансформации  
36.6.Нет ли здесь нарушения принципа DRYSPOT?  
36.6.1.Использование typedef и не)временных объектов)функций  
36.6.2.Использование гетерогенных итераторов и алгоритмов ....  
36.6.3.Носите, ноаккуратно  
36.7.Щепотка последовательностей помогает излечить…?  
36.8.Резюме  
36.9.На компакт)диске  

Глава 37. Интерлюдия: береженого бог бережет, или О выборе имен

 

Глава 38. Итератор селекции членов

 
38.1. Введение  
Содержание 38.2. Мотивация  
38.2.1. Алгоритм std::accumulate()  
38.3.Класс stlsoft: :member_selector_iterator  
38.4.Беды порождающей функции  
38.4.1.Неизменяющий доступ к не)константному массиву  
38.4.2.Неизменяющий доступ к константному массиву  
38.4.3.Изменяющий доступ к не)константному массиву  
38.4.4.Неизменяющий доступ к не)константному набору с итераторами типа класса  
38.4.5. Неизменяющий доступ к константному набору с итераторами типа класса  
38.4.6.Изменяющий доступ к набору с итераторами типа класса .  
38.4.7.Выбор константных членов  
38.5.Резюме  
38.6.На компакт)диске  

Глава 39. Конкатенация СKстрок

 
39.1.Мотивация  
39.2.Негибкая версия  
39.3.Класс stlsoft::cstring_concatenator_iterator  
39.4.Порождающие функции  
39.5.Резюме  
39.6.На компакт)диске  

Глава 40. Конкатенация строковых объектов

 
40.1.Введение  
40.2.Класс stlsoft::string_concatenator_iterator  
40.3.Гетерогенные строковые типы  
40.4.Однако  
40.4.1.Возможность присваивания  
40.4.2.Висячие ссылки  
40.4.3.Решение  
40.5. Резюме  

Глава 41. Характеристики адаптированных итераторов

 
41.1.Введение  
41.2.Класс stlsoft::adapted_iterator_traits  
41.2.1. iterator_category  
41.2.2.value_type  
41.2.3.difference_type  
41.2.4.pointer  
41.2.5.reference  
Содержание 41.2.6. const_pointer и const_reference  
41.2.7 effective_reference и effective_const_reference  
41.2.8.effective_pointer и effective_const_pointer  
41.2.9.Использование характеристического класса  
41.3.Резюме  
41.4.На компакт)диске  

Глава 42. Фильтрующая итерация

 
42.1.Введение  
42.2.Неправильная версия  
42.3.Итераторы)члены определяют диапазон  
42.4.Ну и что будем делать. .. ?  
42.5.Класс stlsoft::filter_iterator  
42.5.1.Семантика однонаправленных итераторов  
42.5.2.Семантика двунаправленных итераторов  
42.5.3.Семантика итераторов с произвольным доступом  
42.6.Ограничение категории итераторов  
42.7.Резюме  
42.8.На компакт)диске  

Глава 43. Составные адаптеры итераторов

 
43.1.Введение  
43.2.Трансформация фильтрующего итератора  
43.2.1. Порождающая функция  
43.3.Фильтрация трансформирующего итератора  
43.4.И нашим, и вашим  
43.5.Резюме  
Эпилог  
Библиография

 



Товар был добавлен в наш каталог 11 April 2009 г.
box_bg_r.gif.
Отзывы Количество:
Поиск
Введите слово для поиска. Расширенный поиск
Вход
E-Mail:
Пароль:
Регистрация
Отложенные товары Перейти
Нет отложенных товаров.
Отзывы Перейти
Написать отзывНапишите Ваше мнение о товаре!
Рассказать другу
 

Сообщите своим друзьям и близким о нашем магазине
Уведомления Перейти
УведомленияСообщите мне о новинках и Расширение библиотеки STL для C++ Наборы и итераторы (+CD). Уилсон М.
Реклама
Скидки   |   Расширенный поиск   |   Свяжитесь с нами   |   Регистрация   |   Мои данные
Copyright © 2009 ga-zon.com
Материалы, представленные на сайте, не могут быть использованы без письменного разрешения администрации сайта
  bigmir)net TOP 100