CMoLineMgr
#ifndef __E3GLOGOBJECTDB_H__
#define __E3GLOGOBJECTDB_H__ #include "PubCommon\Singleton.h"
#include "PubCommon\MemoryManager.h"
#include "PubCommon.h" class CMoLineMgr
{
public:
CMoLineMgr(Win32Tools::CMemoryManager* pMemMgr);
virtual ~CMoLineMgr();
public:
void AddMemLine(CMemLine*& pMoLine);
void MoveFirst(); // 移动到第一个
bool GetMoLine(CMoLine*& pMoLine); // 循环获取 MO
size_t GetSize();
private:
Win32Tools::CMemoryManager* m_pMemMgr;
CMoLine m_BeginMoLine; // 自下一个开始有效
CMoLine* m_pAddMoLine; // 添加 MO 的专用游标
CMoLine* m_pReadMoLine; // 读取 MO 的专用游标
size_t m_iTableCnt;
}; #endif
#include "stdafx.h"
#include "MoLineMgr.h" CMoLineMgr::CMoLineMgr(Win32Tools::CMemoryManager* pMemMgr)
: m_pMemMgr(pMemMgr)
, m_pAddMoLine(NULL)
, m_pReadMoLine(NULL)
, m_iTableCnt()
{
m_pAddMoLine = &m_BeginMoLine;
} CMoLineMgr::~CMoLineMgr()
{
} void CMoLineMgr::AddMemLine(CMemLine*& pMemLine)
{
if(pMemLine == NULL)
return;
CMoLine* pNew = (CMoLine*)m_pMemMgr->GetMemory(sizeof(CMoLine));
pNew = new (pNew) CMoLine;
pNew->m_pMemLine = pMemLine;
m_pAddMoLine->m_pNextMoLine = pNew;
m_pAddMoLine = pNew;
++m_iTableCnt;
} size_t CMoLineMgr::GetSize(void)
{
return m_iTableCnt;
} void CMoLineMgr::MoveFirst()
{
// 移动到第一个 m_pReadMoLine = &m_BeginMoLine;
} bool CMoLineMgr::GetMoLine( CMoLine*& pMoLine )
{
// 循环获取 MO if(m_pReadMoLine->m_pNextMoLine == NULL)
{
pMoLine = NULL;
return false;
}
else
{
pMoLine = m_pReadMoLine->m_pNextMoLine;
m_pReadMoLine = m_pReadMoLine->m_pNextMoLine;
return true;
}
}
CMoLineMgr的更多相关文章
随机推荐
- [笔记]Linux NTP命令 (ESX适用)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://delxu.blog.51cto.com/975660/307513 [推荐阅读] ...
- 半小时分组统计个数sql
group by 最后一个时间是多少按多少分组 select count(1), trunc(a.refund_insert_time, 'hh24') + case when to_char(ref ...
- Ceph 时钟偏移问题 clock skew detected 解决方案--- 部署内网NTP服务
告警:HEALTH_WARN clock skew detected on mon.ip-10-25-195-6; 8 requests are blocked > 32 sec; Monito ...
- 使用Nginx代理Django
一.准备环境 检查python版本以及pip版本 [root@linux-node01 src]# python --version Python 2.7.5 [root@linux-node01 s ...
- 常用对称加密算法(DES/AES)类(PHP)
看注释,啥也不说了,欢迎各种跨平台测试! /** * 常用对称加密算法类 * 支持密钥:64/128/256 bit(字节长度8/16/32) * 支持算法:DES/AES(根据密钥长度自动匹配使用: ...
- WMI技术介绍和应用——WMI概述
https://blog.csdn.net/breaksoftware/article/details/8424317
- electron 使用中的注意事项
一.ELECTRON引用JQUERY.JS electron不能像正常的html文件引用jq.js那样(为嘛不造),elecron引用jq.js的方式为: <script>window.$ ...
- vim编码相关
与vim编码相关的四个配置: encoding:vim核心编码,所有vim交换区,信息提示区都用这个编码.打开文件的编码如果是其他编码,会自动转换为核心编码,保存时再转回文件编码. fileencod ...
- c#后台线程更新界面
参考文章<C# 线程更新UI界面> 主窗口 public frmMain() { InitializeComponent(); } /// <summary> /// 主窗口加 ...
- 管理lvm 卷 system-storage-manager
安装 sudo yum install system-storage-manager [root@si-test-blueking--4 ~]# ssm list 创建物理磁盘到物理卷,<poo ...