Есть ли Boost:: Flyweight подсчета ссылок?
Я читал документацию boost::flyweight
но я не вижу никакого упоминания о политике освобождения или подсчета ссылок. По сути, объект с наименьшим весом должен вести себя как хранилище различных значений, но неясно, что происходит, когда другое значение больше не используется.
Это уже поддерживается? это может быть включено с какой-то кастомной фабрикой?
1 ответ
Решение
Как и в большинстве вещей в Flyweight, такое поведение диктуется политикой, в частности политикой отслеживания. Политика отслеживания по умолчанию refcounted
:
Политика отслеживания, обеспечивающая экземпляры flyweight с семантикой подсчета ссылок: когда все объекты flyweight, связанные с данным значением, уничтожаются, соответствующая запись стирается из внутренней фабрики flyweight.