// -------------------------------------------------------------------
//
//     Filename: Helper.h
//  Description:	Вспомогательные классы для хранения необходимой для 
//					сохранения в базе данных информации о документах, 
//					изделиях и об их взаимосвязях
//
// -------------------------------------------------------------------

#if !defined(_APLSTEPMGR_HELPER_H_)
#define _APLSTEPMGR_HELPER_H_
#endif
#include "StdAfx.h"
#pragma warning ( disable : 4786)
#include <map>
#include <algorithm>
typedef std::map<CString, int> msiMap;
typedef msiMap::iterator msiMapIt;
typedef std::map<CString,CString> mssMap;
typedef mssMap::iterator mssMapIt;
class mymsiMap
{
public:
	msiMap m_data;
};
#define forr(it,ms) for((it)=(ms).begin();(it)!=(ms).end();++(it))
class CPdEffDatEff
{
public:
	aplExtent aePdEff;
	aplExtent aeDatEff;
	CPdEffDatEff()
	{
		aePdEff.Clear();
		aeDatEff.Clear();
	};
	bool operator = (const CPdEffDatEff& pedeItem)
	{
		aePdEff.Clear();
		aeDatEff.Clear();
		aePdEff.Append(pedeItem.aePdEff);
		aeDatEff.Append(pedeItem.aeDatEff);
	}
// 	bool operator == (const CPdEffDatEff& pedeItem) const
// 	{
// 		if (ciPdEff!=pedeItem.ciPdEff)
// 			return false;
// 		if (ciDatEff!=pedeItem.ciDatEff)
// 			return false;
// 		return true;
// 	}
// 	bool operator < (const CPdEffDatEff& pedeItem) const
// 	{
// 		if ((ciPdEff<pedeItem.ciPdEff)&&(ciDatEff<pedeItem.ciDatEff))
// 			return true;
// 		return false;
// 	}
};
typedef std::map<CaplInstance*, CPdEffDatEff*> aepedeMap;
typedef aepedeMap::iterator aepedeMapIt;

typedef std::map<CaplInstance*, CaplInstance*> ciciMap;
typedef ciciMap::iterator ciciMapIt;


// --------------------------------
//  End of Helper.h
// --------------------------------
