// EdIRICLs.hpp : header file // #ifndef _EDIRICLS_HPP_ #define _EDIRICLS_HPP_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include #include "EdIRIC.hpp" ///////////////////////////////////////////////////////////////////////////// // class CPA_EdIR_IntermediateCodeList ///////////////////////////////////////////////////////////////////////////// class CPA_Actor; class CPA_EdIR_IntermediateCodeList { private: class CPA_EdIR_IntermediateCodeNode { public: CPA_EdIR_IntermediateCode *m_pclData; CPA_EdIR_IntermediateCodeNode *m_pclNextNode; CPA_EdIR_IntermediateCodeNode(CPA_EdIR_IntermediateCode *); ~CPA_EdIR_IntermediateCodeNode(); }; private: CPA_EdIR_IntermediateCodeNode *m_pclIntermediateCodeHead; CPA_EdIR_IntermediateCodeNode *m_pclIntermediateCodeTail; long m_lNbEntries; public: CPA_EdIR_IntermediateCodeList(); CPA_EdIR_IntermediateCodeList(CPA_EdIR_IntermediateCodeList &); ~CPA_EdIR_IntermediateCodeList(); void m_fn_vDestroyAndRemoveAllEntries(); void m_fn_vMakeEmpty(); BOOL IsEmpty(); long GetCount(); void AddTail(CPA_EdIR_IntermediateCode *); POSITION FindIndex(long); POSITION GetHeadPosition(); CPA_EdIR_IntermediateCode *GetAt(POSITION); CPA_EdIR_IntermediateCode *GetNext(POSITION &); CPA_EdIR_IntermediateCode *GetHead(); CPA_EdIR_IntermediateCode *GetTail(); void m_fn_vAdd(long,tdeNodeType,long,CPA_Actor *pclModel=NULL); void m_fn_vAdd(long,tdeNodeType,double); void m_fn_vAdd(long,tdeNodeType,CString); void m_fn_vAdd(CPA_EdIR_IntermediateCode *); void m_fn_vConcat(CPA_EdIR_IntermediateCodeList &); CPA_EdIR_IntermediateCodeList operator =(CPA_EdIR_IntermediateCodeList &); CPA_EdIR_IntermediateCodeList operator =(CPA_EdIR_IntermediateCode *); CString m_fn_csGetValue(long); long m_fn_lGetIndex(long); double m_fn_dfGetValue(long); MTH3D_tdstVector m_fn_tdstGetVector(long); void m_fn_vSetIndex(long,long); void m_fn_vSetModel(long,CPA_Actor *); }; #endif //_EDIRICLS_HPP_