From 21e59f0337a3637e646529611f84fa646cb1d9e0 Mon Sep 17 00:00:00 2001 From: "HuYingzhuo(hugo/hyzboy)" Date: Tue, 19 Sep 2023 21:08:37 +0800 Subject: [PATCH] added ActiveMemoryBlockManager::GetData(int id) --- inc/hgl/type/ActiveMemoryBlockManager.h | 2 ++ src/Type/ActiveMemoryBlockManager.cpp | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/inc/hgl/type/ActiveMemoryBlockManager.h b/inc/hgl/type/ActiveMemoryBlockManager.h index 0bce2a1..fb5c555 100644 --- a/inc/hgl/type/ActiveMemoryBlockManager.h +++ b/inc/hgl/type/ActiveMemoryBlockManager.h @@ -42,6 +42,8 @@ namespace hgl int WriteDataArray (void **da,const int *idp,const int count); int WriteDataArray (void *da,const int *idp,const int count)const; + void *GetData(const int id)const; + bool GetData(void *,const int id)const; bool GetData(void **da,const int *idp,const int count)const; ///<根据ID获取数据 bool GetData(void *da,const int *idp,const int count)const; ///<根据ID获取数据,并整齐排列到一起 diff --git a/src/Type/ActiveMemoryBlockManager.cpp b/src/Type/ActiveMemoryBlockManager.cpp index ab2393f..179d696 100644 --- a/src/Type/ActiveMemoryBlockManager.cpp +++ b/src/Type/ActiveMemoryBlockManager.cpp @@ -86,6 +86,14 @@ namespace hgl return(result); } + + void *ActiveMemoryBlockManager::GetData(const int id)const + { + if(!id||id<0||id>=aim.GetHistoryMaxId()) + return(nullptr); + + return (uint8 *)(data_mb->Get())+id*unit_size; + } bool ActiveMemoryBlockManager::GetData(void *da,const int id)const {