Я не могу понять, как использовать boost::flyweight
как шаблон GOF. Есть ли где-нибудь пример?Как использовать boost :: flyweight как шаблон GOF?
Например, я ожидаю его использования следующим образом. Должен быть какой-нибудь мухомоторный контейнер, состоящий из «жирных» объектов. Этот контейнер может дать некоторый легкий «держатель/дескриптор» для некоторого объекта. И я могу хранить дескриптор в каком-то контейнере.
Я не могу понять, как получить «держатель/дескриптор» объекта от boost::flyweight
.
Я до сих пор не получаю. Например, в случае текстового редактора мне нужен контейнер, который будет содержать список «дескрипторов» буквы eath, которую вводит пользователь. Итак, как реализовать его с повышением? Это должен быть список мухоловки? (std :: list> line;) –
AeroSun
@AeroSun Если вы посмотрите на примеры в документации, например [об этой форматированной обработке текста] (http://www.boost.org/doc /libs/1_63_0/libs/flyweight/example/html.cpp), вы увидите, что они делают именно это: символ typedef flyweight; std :: vector scanned_html; ' –
milleniumbug
Thx много! Теперь я понимаю. Он слишком отличается от шаблонов GoF. Реализация форсирования выглядит очень просто в использовании, но я не уверен, что хорошо, что у меня нет доступа к внутреннему репозиторию объектов. – AeroSun