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

Organization

Boost , Chapter 1. Phoenix 3.2.0 , Chapter 1. Phoenix 3.2.0

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

Осторожность и внимание к деталям было уделено разработке и внедрению Phoenix.

Библиотека организована в четыре слоя:

  1. актер
  2. Ценность, ссылка, аргументы
  3. Функция, Оператор, Объект, Заявление, Сфера применения
  4. STL, Fusion, Bind

Модули ортогональные, без циклических зависимостей. Нижние слои не зависят от более высоких слоев. Модули в слое не зависят от других модулей в том же слое. Это означает, например, что Bind может быть полностью отброшен, если он не требуется; или можно, возможно, вынуть Оператора и Заявление и просто использовать Функцию, которая может быть желательна в чистом FP-приложении.

Библиотека выросла из оригинального Phoenix, но до сих пор содержит только заголовочные файлы. Нет никаких объектных файлов, против которых можно было бы ссылаться.

Core

Самые низкие два слоя составляют ядро.

<Actor>является основной концепцией библиотеки. Ленивые функции абстрагируются как актеры.

Терминалы обеспечивают основные строительные блоки функциональности в Фениксе. Выражения используются для объединения этих терминалов для обеспечения более мощной функциональности.

Выражения состоят из нуля или более актеров. Каждый актер в композите может быть другим выражением.

Table 1.2. Modules

модуль

Описание

Функция

Поддержка ленивых функций (например,<add>)

Оператор

Поддержка ленивых операторов (например,<+>)

Заявление

Ленивые высказывания (например,<if_>,<while_>)

Объект

Ленивые отливки (например,<static_cast_>), разрушение создания объекта (например,<new_>,<delete_>)

Область применения

Поддержка областей применения, локальных переменных и лямбда-ламбда

Связать

Ленивые функции из свободных функций, членских функций или членских переменных.

Контейнер STL

Набор предопределенных «ленивых» функций, которые работают на STL-контейнерах и последовательностях (например,<push_back>).

Алгоритм STL

Набор предопределенных «ленивых» версий алгоритмов STL (например,<find_if>).


Каждый модуль определяется в файле заголовка с тем же именем. Например, основной модуль определен в<<boost/phoenix/core.hpp>>.

Table 1.3. Includes

модуль

Файл

Ядро

<#include<boost/phoenix/core.hpp>>

Функция

<#include<boost/phoenix/function.hpp>>

Оператор

<#include<boost/phoenix/operator.hpp>>

Заявление

<#include<boost/phoenix/statement.hpp>>

Объект

<#include<boost/phoenix/object.hpp>>

Область применения

<#include<boost/phoenix/scope.hpp>>

Связать

<#include<boost/phoenix/bind.hpp>>

Контейнер

<#include<boost/phoenix/stl/container.hpp>>

Алгоритм

<#include<boost/phoenix/stl/algorithm.hpp>>



PrevUpHomeNext

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




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



:: Главная :: Chapter 1. Phoenix 3.2.0 ::


реклама


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

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