diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index 13226a9..679a7af 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -470,32 +470,65 @@ using namespace std; #define __forD1(i, LoopCount) for(i=1; i<=LoopCount; ++i) -#define __for_i( IterClass, IterObj, IterVar) \ +#define __for_i( IterType, IterObj, IterVar) \ for ( \ - typename IterClass:: iterator \ - IterVar=IterObj.begin(); \ - IterVar<=IterObj.size(); ++IterVar \ + typename IterType:: iterator \ + IterVar=IterObj.begin(); \ + IterVar<=IterObj.size(); ++IterVar \ ) -#define __for_ic(IterClass, IterObj, IterVar) \ +#define __for_ic(IterType, IterObj, IterVar) \ for ( \ - typename IterClass::const_iterator \ - IterVar=IterObj.cbegin(); \ - IterVar<=IterObj.size(); ++IterVar \ + typename IterType::const_iterator \ + IterVar=IterObj.cbegin(); \ + IterVar<=IterObj.size(); ++IterVar \ ) -#define __for_i_r( IterClass, IterObj, IterVar) \ +#define __for_i_r( IterType, IterObj, IterVar) \ for ( \ - typename IterClass:: iterator \ - IterVar=IterObj.end(); \ + typename IterType:: iterator \ + IterVar=IterObj.end(); \ IterVar>0; --IterVar \ ) -#define __for_i_rc(IterClass, IterObj, IterVar) \ +#define __for_i_rc(IterType, IterObj, IterVar) \ for ( \ - typename IterClass::const_iterator \ - IterVar=IterObj.cend(); \ + typename IterType::const_iterator \ + IterVar=IterObj.cend(); \ IterVar>0; --IterVar \ ) +#define _FOR_ITER_EASY_START0(IterType, IterObj, IterVar, SizeVar) \ + { \ + typedef IterType::TypeSize IterTypeSize ; \ + ZNsMain::IterEasyID IterVar = IterObj.ItHID(); \ +\ + for(IterTypeSize SizeVar=0; SizeVar CObjList; + + CObjList myList; + + myList.AddTail(1); + myList.AddTail(2); + myList.AddTail(3); + + _FOR_ITER_EASY_START0(CObjList, myList, VH_NowIter, i) + { + cout<<"* list >> "< 등에서 사용하는 반복자로 사용하는 자료형이다. 반복자를 사용할 때마