#include <iostream>
using namespace std;
#include <map>

struct SiteInfo
{
	int SiteID;
	CString MAC;
	CString SiteName;
	
	SiteInfo(int ID, CString BelongMAC, CString name)
	{
		SiteID = ID;
		MAC = BelongMAC;
		SiteName = name;
	}
	
	bool operator==(const SiteInfo rhs) const
	{
		if ((SiteID == rhs.SiteID) && (MAC == rhs.MAC))
			return true;
		else
			return false;
	}	
	
	bool operator<(const SiteInfo rhs) const
	{
		if (SiteID < rhs.SiteID)
			return true;
		if (MAC < rhs.MAC)
			return true;
		if (SiteName < rhs.SiteName)
			return true;
		
		return false;
	}
};

int main() {
	// your code goes here
	CString mac = _T("00:00:00:00:00:01");
	SiteInfo site1(1, mac, _T("瞇摸鐵克site1"));
	SiteInfo site2(2, mac, _T("西哩科site2"));

	std::map<SiteInfo, CString> RegisterMap;
	RegisterMap.insert(std::make_pair(site1, _T("site1 in map")));
	RegisterMap.insert(std::make_pair(site2, _T("site2 in map")));

	std::map<SiteInfo, CString>::iterator iter1 = RegisterMap.find(site1);
	std::map<SiteInfo, CString>::iterator iter2 = RegisterMap.find(site2);
	
	return 0;
}