我boost::flyweight<std::string>
在整个程序中都使用并想编写一个特定的组件来访问为这些享元字符串提供服务的静态工厂手动insert
和delete
. 我在文档中看到的用于访问内部结构的最接近的事情是指定自定义跟踪策略,但这只会在销毁享元时调用。有没有办法访问特定 boost::flyweight 实例化的工厂?我想按照设计没有,因为如果我们在工厂操作,我们也需要访问内部锁。
我的另一个想法是定义一个自定义静态持有者并使用正确的类型对其进行实例化以访问静态工厂,但库实例化持有者的类型也没有公开。有任何想法吗?或者提供该级别控制的任何替代库?