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

Boost.Flyweight Documentation - Holders reference

Boost , , Boost.Flyweight Documentation - Reference

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

Boost.Flyweight Holders reference



Contents

Holders and holder specifiers

Учитывая тип C, тип Holder считается держателем C, если выражение Holder::get() возвращает ссылку на инициализированный по умолчанию объект C, уникальный для Holder. Ни один вызов Holder::get(), за исключением, возможно, первого в программе, не бросает. flyweight в частном порядке использует держатель для мгновенных данных factory и некоторых дополнительных данных (например, mutex для внутренней синхронизации), уникальных для каждого типа мгновенных данных шаблона класса.

Тип S является спецификатором держателя, если:

    1. < ;S>::типboost::mpl::true_,
    2. Sдержатель.
  1. , или S, если (b) применяется, это MPL Lambda Expression<111> для такого типаОдно из следующих условий удовлетворяется:
    1. is_holder<S>::typeboost::mpl::true_,
    2. Sимеет формуholder<S'>.
  2. SилиS', если применяется (b), являетсяMPL Lambda Expressionтаким, что вызов его с типомCразрешает держателюC.
[ORIG_END] -->

Header "boost/flyweight/holder_tag.hpp" synopsis

namespace boost{
namespace flyweights{
struct holder_marker;
template<typename T>
struct is_holder;
template<typename T>
struct holder;
} // namespace boost::flyweights
} // namespace boost

Class template is_holder

Если только не специализировался пользователь, is_holders::type является boost::mpl::true_, если T происходит от holders_marker, и это boost::false_.

Class template holder

holders - это синтаксическая конструкция, предназначенная для указания на то, что T является спецификатором держателя, не прибегая к механизмам, предусмотренным is_holders шаблон класса.

Header "boost/flyweight/static_holder_fwd.hpp" synopsis

namespace boost{
namespace flyweights{
template<typename C>
struct static_holder_class;
struct static_holder;
} // namespace boost::flyweights
} // namespace boost

static_holders_fwd.hpp forward declares static_holders_class и static_holders.

Header "boost/flyweight/static_holder.hpp" synopsis

Class template static_holder_class

static_holders_class сохраняет свой уникальный экземпляр C как локальный статический объект.

Class static_holder

Голдерный спецификатор для static_holders_class.

Header "boost/flyweight/intermodule_holder_fwd.hpp" synopsis

namespace boost{
namespace flyweights{
template<typename C>
struct intermodule_holder_class;
struct intermodule_holder;
} // namespace boost::flyweights
} // namespace boost

intermodule_holders_fwd.hpp forward declares intermodule_holders_class и intermodule_holders.

Header "boost/flyweight/intermodule_holder.hpp" synopsis

Class template intermodule_holder_class

intermodule_holders_class поддерживает экземпляр C, который уникален даже для различных динамически связанных модулей программы с использованием этого же типа. В общем, эта гарантия не предоставляется static_holders_class, так как большинство реализаций C++ не в состоянии объединить дубликаты статических переменных, хранящихся в различных динамических модулях программы.

Class intermodule_holder

Голдерный спецификатор для intermodule_holders_class.




Пересмотрен 11 августа 2008 года

© Copyright 2006-2008 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копия по http://www.boost.org/LICENSE_1_0.txt

Статья Boost.Flyweight Documentation - Holders reference раздела Boost.Flyweight Documentation - Reference может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Boost.Flyweight Documentation - Reference ::


реклама


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

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