swatchdata.h

来自「VC开发环境下」· C头文件 代码 · 共 70 行

H
70
字号
#pragma once

#include <vector>

template<class T>
class CSwatchDataT
{
public:
	CSwatchDataT()
	{

	}

	CSwatchDataT(LONG lSize):m_vecData(lSize)
	{
		//m_vecData.resize(lSize);
	}

	CSwatchDataT(const CSwatchDataT& swatchData)
	{
		set_Count(swatchData.get_Count());
		
		for (LONG i=0;i<get_Count();i++)
			m_vecData[i]=swatchData.get_Value(i);
	}

	~CSwatchDataT(void)
	{
	}

	CSwatchDataT& operator=(const CSwatchDataT& swatchData)
	{
		if (this==&swatchData)
			return *this;
		
		if (swatchData.get_Count()!=get_Count()) 
			return *this;

		for (LONG i=0;i<get_Count();i++)
			m_vecData[i]=swatchData.get_Value(i);
	}

public:
	T get_Value(LONG lIndex) const
	{
		ATLASSERT(lIndex>=0&&lIndex<get_Count());
		return m_vecData[lIndex];
	}

	void  set_Value(LONG lIndex,T newVal)
	{
		ATLASSERT(lIndex>=0&&lIndex<get_Count());
		m_vecData[lIndex]=newVal;
	}

	LONG  get_Count() const
	{
		return (LONG) m_vecData.size();
	}
	
	void set_Count(LONG lSize)
	{
		m_vecData.resize(lSize);
	}

private:
	std::vector< T > m_vecData;
};

typedef CSwatchDataT<FLOAT> CSwatchData;

⌨️ 快捷键说明

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