update
This commit is contained in:
parent
10e30c32b7
commit
8d1184212e
|
|
@ -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()];
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue