⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcssl.h

📁 并行TIN生成算法, 基于DeWall算法理论实现
💻 H
字号:
/* -*- C++ -*- */

//=============================================================================
/**
 *  @文件    TcsSL.h
 *
 *  TcsSL.h, 版本 1.30 2008/12/15
 *
 *  @作者 邓雪清 <xueqingdeng@sohu.com>
 *  单向链表类
 */
//=============================================================================

#ifndef _TCS_SL_H_
#define _TCS_SL_H_

#if !defined (_WIN32)
	#define DLLEXPORT
#elif !defined (DLLEXPORT)
	#if defined (_LIB)
		#define DLLEXPORT
	#elif defined (_USRDLL)
		#define DLLEXPORT __declspec(dllexport)
	#else
		#define DLLEXPORT __declspec(dllimport)
	#endif
#endif

#include <Windows.h>

// ----- CTcsSL -------------------------------------------------------------

class DLLEXPORT CTcsSL
{
protected:
	struct NODE {
		NODE	*next;
		void	*data;
	};

public:
	CTcsSL(void);
	~CTcsSL(void);

	void Lock(void);
	void Lose(void);

	long  GetSize(void);
	void *PopData(void);
	void *PutData(void *pData);

protected:
	NODE *NewNode(void);

	NODE	*m_pHead;
	NODE	*m_pFree;
	void	*m_mLock;
	long	 m_nSize;
};

inline void CTcsSL::Lock(void)
{
	::WaitForSingleObject(m_mLock, INFINITE);
}

inline void CTcsSL::Lose(void)
{
	::ReleaseMutex(m_mLock);
}

inline long CTcsSL::GetSize(void)
{
	return m_nSize;
}

#endif // _TCS_SL_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -