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

BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT

Boost , Chapter 1. Fusion 2.2 , Adapted

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

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

Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
    (template_param0)(template_param1)...,
    (namespace0)(namespace1)...,
    struct_name,
    (member_type0, member_name0, key_type0)
    (member_type1, member_name1, key_type1)
    ...
    )

Notation

Str

Промежуточный<struct_name>

str

Пример<Str>

e0...en

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

fs

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

Expression Semantics

Вышеупомянутый макрос генерирует необходимый код, который определяет и адаптирует<struct_name>как модельслучайной последовательности доступаиассоциативной последовательности. Последовательность<(template_param0)(template_param1)...>объявляет имена используемых параметров типа шаблона. Последовательность<(namespace0)(namespace1)...>объявляет пространство имен<struct_name>. Названо оно в честь<struct_name>из<namespace0::namespace1::... struct_name>. Если дается пустая последовательность пространства имен (это макрос, который ни к чему не расширяется), структура помещается в глобальное пространство имен. Последовательность<(member_typeN, member_nameN, key_typeN)>тройки объявляет тип, имя и ключевой тип каждого из членов структуры, которые являются частью последовательности.

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

выражение

Семантика

<Str()>

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

<Str(e0, e1,... en)>

Создает экземпляр<Str>с элементами<e0>...<en>

.

<Str(fs)>

Копия конструирует экземпляр<Str>изПередовой последовательности<fs>

.

<str= fs>

ПриписываетсяПоследовательность<fs>

.

<str.member_nameN>

Доступ к члену структуры<member_nameN>

Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
#include <boost/fusion/include/define_assoc_struct.hpp>
Example
namespace keys
{
    struct name;
    struct age;
}
// Any instantiated demo::employee is a Fusion sequence
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
    (Name)(Age), (demo), employee,
    (Name, name, keys::name)
    (Age, age, keys::age))

PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:16:29/0.028300046920776/1