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

📄 icesignature.h

📁 使用stl技术,(还没看,是听说的)
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 *	Contains a signature class.
 *	\file		IceSignature.h
 *	\author		Pierre Terdiman
 *	\date		October, 24, 2002
 */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Include Guard
#ifndef __ICESIGNATURE_H__
#define __ICESIGNATURE_H__

	class ICECORE_API Signature
	{
		public:
		// Constructor/Destructor
						Signature();
						~Signature();

		inline_	void	Invalidate()		{ mTimestamp++;	}

						PREVENT_COPY(Signature)
		private:
				Handle	mStructureHandle;	//!< Object's structural validity
				udword	mTimestamp;			//!< Object's state validity

		friend	class	SignatureState;
	};

	class ICECORE_API SignatureState
	{
		public:
		// Constructor/Destructor
		inline_			SignatureState()		{}
		inline_			SignatureState(const Signature& signature) :
							mStructureHandle(signature.mStructureHandle),
							mTimestamp(signature.mTimestamp)
						{
						}
		inline_			~SignatureState()		{}

		inline_	void	operator = (const Signature& signature)
						{
							mStructureHandle = signature.mStructureHandle;
							mTimestamp = signature.mTimestamp;
						}

		inline_	BOOL	operator == (const Signature& signature)	const
						{
							if(signature.mTimestamp!=mTimestamp)				return FALSE;
							if(signature.mStructureHandle!=mStructureHandle)	return FALSE;
							return TRUE;
						}

		inline_	BOOL	operator != (const Signature& signature)	const
						{
							if(signature.mTimestamp!=mTimestamp)				return TRUE;
							if(signature.mStructureHandle!=mStructureHandle)	return TRUE;
							return FALSE;
						}
		private:
				Handle	mStructureHandle;	//!< Object's structural validity
				udword	mTimestamp;			//!< Object's state validity
	};

#endif // __ICESIGNATURE_H__

⌨️ 快捷键说明

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