This commit is contained in:
codeboss 2025-09-27 22:22:43 +08:00
parent 10e30c32b7
commit 8d1184212e
2 changed files with 6 additions and 9 deletions

View File

@ -18,11 +18,11 @@ concept CompenentType = requires(T t, T other, const QJsonObject & in, QJsonObje
/// 组件引用符号
/// </summary>
/// <typeparam name="T"></typeparam>
template<typename T> class ComponentRefer : protected MemoryChunk {
template<typename T> class ChunkRefer : protected MemoryChunk {
public:
ComponentRefer(ElementControlBlock* data) : MemoryChunk(data) { referAdd(); }
ComponentRefer(const ComponentRefer<T> &other) :MemoryChunk(other.data_ptr) { referAdd(); }
virtual ~ComponentRefer() { referSub(); }
ChunkRefer(ElementControlBlock* data) : MemoryChunk(data) { referAdd(); }
ChunkRefer(const ChunkRefer<T> &other) :MemoryChunk(other.data_ptr) { referAdd(); }
virtual ~ChunkRefer() { referSub(); }
T* dataLock() {
return (T*)(MemoryChunk::dataLock());
@ -72,7 +72,7 @@ public:
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
template<CompenentType T> ComponentRefer<T> generate() {
template<CompenentType T> ChunkRefer<T> generate() {
std::lock_guard<std::mutex> lockx(_pool_protected_);
auto type_code = T::typeCode();
@ -117,7 +117,7 @@ public:
}
exists_reuse:
ComponentRefer<T> temp_inst(refer_ptr);
ChunkRefer<T> temp_inst(refer_ptr);
auto data_pointer = temp_inst.dataLock();
refer_ptr->refer_count--;
auto dpair = _basic_component_memory_example[T::typeCode()];

View File

@ -147,16 +147,13 @@ public:
/// </summary>
/// <param name="time_usec"></param>
void accessUpdate(uint64_t time_usec);
/// <summary>
/// 设置数据活跃状态
/// </summary>
/// <param name="ste"></param>
void referAdd();
/// <summary>
/// 设置数据活跃状态
/// </summary>
/// <param name="ste"></param>
void referSub();
/// <summary>