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

Complete instantiation scheme

Boost , Chapter 1. Boost.Bimap , The tutorial

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

Подводя итог, можно сказать, что это полная схема инстанциации.

typedef bimap
<
    LeftCollectionType, RightCollectionType
    [ , SetTypeOfRelation  ]  // Default to left_based
    [ , with_info< Info >  ]  // Default to no info
    [ , Allocator          ]  // Default to std::allocator<>
> bm;

<{Side}CollectionType>может быть типом. Это может быть<set_of<Type>>или<{CollectionType}_of<Type>>спецификация. Кроме того, тип этих двух параметров можно пометить, чтобы указать имена, определенные пользователем, вместо обычных<member_at::-Side->тегов.

Возможные способы использования первого параметра:

bimap< Type, R >
  • Левый тип:<Type>
  • Левый тип коллекции:<set_of<Type >>
  • Слева:<member_at::left>
bimap< {CollectionType}_of< Type >, R >
  • Левый тип:<Type>
  • Левый тип коллекции:<{CollectionType}_of<LeftType>>
  • Слева:<member_at::left>
bimap< tagged< Type, Tag >, R >
  • Левый тип:<Type>
  • Тип коллекции:<set_of<LeftType >>
  • Слева:<Tag>
bimap< {CollectionType}_of< tagged< Type, Tag > >, R >
  • Левый тип:<Type>
  • Левый тип коллекции:<{CollectionType}_of<LeftType>>
  • Слева:<Tag>

Для второго параметра доступны те же варианты.

Последние три параметра используются для указания типа сбора отношения, элемента информации и типа распределителя.

Если вы хотите указать тип выделения, полагаясь на значение по умолчанию CollectionTypeOfRelation, вы можете сделать это, просто написав<bimap<LeftKeyType, RightKeyType, Allocator>>. Повышаю. Внутренний механизм Бимапа обнаруживает, что третий параметр в данном случае относится не к типу отношения, а к распределителю.

Ниже приведены возможные способы инстанцирования последних трех параметров бимапа. Вы можете игнорировать некоторые параметры, но порядок должен соблюдаться.

bimap< L, R >
  • set_of_relation_type: в зависимости от типа левого ключа
  • Источник: No Info
  • Исполнитель: Allocator
bimap< L, R ,SetOfRelationType>
  • set_of_relation_type: SetOfRelation Тип
  • Источник: No Info
  • Исполнитель: Allocator
bimap< L, R , SetOfRelationType, with_info<Info> >
  • set_of_relation_type: SetOfRelation Тип
  • Источник: Info
  • Исполнитель: Allocator
bimap< L, R , SetOfRelationType, with_info<Info>, Allocator>
  • set_of_relation_type: SetOfRelation Тип
  • Источник: Info
  • распределитель: распределитель
bimap< L, R , SetOfRelationType, Allocator>
  • set_of_relation_type: SetOfRelation Тип
  • Источник: No Info
  • распределитель: распределитель
bimap< L, R , with_info<Info> >
  • set_of_relation_type: в зависимости от типа левого ключа
  • Источник: Info
  • Исполнитель: Allocator
bimap< L, R , with_info<Info>, Allocator>
  • set_of_relation_type: в зависимости от типа левого ключа
  • распределитель: распределитель
bimap< L, R , Allocator>
  • set_of_relation_type: в зависимости от типа левого ключа
  • Источник: No Info
  • распределитель: распределитель

PrevUpHomeNext

Статья Complete instantiation scheme раздела Chapter 1. Boost.Bimap The tutorial может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: The tutorial ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:22:18/0.0066349506378174/0