diff --git a/ZCppMain/ZMainHead.H b/ZCppMain/ZMainHead.H index 679a7af..fca0812 100644 --- a/ZCppMain/ZMainHead.H +++ b/ZCppMain/ZMainHead.H @@ -496,6 +496,7 @@ using namespace std; IterVar>0; --IterVar \ ) + #define _FOR_ITER_EASY_START0(IterType, IterObj, IterVar, SizeVar) \ { \ typedef IterType::TypeSize IterTypeSize ; \ @@ -507,6 +508,16 @@ using namespace std; IterObj.ItNext(IterVar); } \ } +#define _FOR_ITER_EASY_START0_C(IterType, IterObj, IterVar, SizeVar) \ + { \ + typedef IterType::TypeSize IterTypeSize ; \ + ZNsMain::IterEasyIDc IterVar = IterObj.ItHID(); \ +\ + for(IterTypeSize SizeVar=0; SizeVarGetNextPtr() ;} - void ItNext(iterator & ARR_Iterator ) const{++ARR_Iterator;} - void ItNext(IterEasyID & ARRI_IterEasyID) const{ItNext((ZCLink*&)(ARRI_IterEasyID));} - void ItNext(TypeLinkC* & APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;} - void ItNext(iteratorN & ARR_Iterator ) const{++ARR_Iterator;} - void ItNext(IterEasyIDc& ARRI_IterEasyID) const + void ItNext(TypeLink* & APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;} + void ItNext(iterator & ARR_Iterator ) const{++ARR_Iterator;} + void ItNext(IterEasyID & ARRI_IterEasyID) const{ItNext((ZCLink*&)(ARRI_IterEasyID));} + void ItNext(TypeLinkC* & APR_CLink ) const{ APR_CLink=APR_CLink->GetNextPtr() ;} + void ItNext(iteratorN & ARR_Iterator ) const{++ARR_Iterator;} + void ItNext(IterEasyIDc & ARRI_IterEasyID) const { ItNext((TypeLinkC*&)(ARRI_IterEasyID)); } - void ItPrev(ZCLink* & APR_CLink ) const{ APR_CLink=APR_CLink->GetPrevPtr() ;} - void ItPrev(iterator & ARR_Iterator ) const{--ARR_Iterator;} - void ItPrev(IterEasyID & ARRI_IterEasyID) const{ItPrev((ZCLink*&)(ARRI_IterEasyID));} - void ItPrev(TypeLinkC* & APR_CLink ) const{ APR_CLink=APR_CLink->GetPrevPtr() ;} - void ItPrev(iteratorN & ARR_Iterator ) const{--ARR_Iterator;} - void ItPrev(IterEasyIDc& ARRI_IterEasyID) const + void ItPrev(ZCLink* & APR_CLink ) const{ APR_CLink=APR_CLink->GetPrevPtr() ;} + void ItPrev(iterator & ARR_Iterator ) const{--ARR_Iterator;} + void ItPrev(IterEasyID & ARRI_IterEasyID) const{ItPrev((ZCLink*&)(ARRI_IterEasyID));} + void ItPrev(TypeLinkC* & APR_CLink ) const{ APR_CLink=APR_CLink->GetPrevPtr() ;} + void ItPrev(iteratorN & ARR_Iterator ) const{--ARR_Iterator;} + void ItPrev(IterEasyIDc & ARRI_IterEasyID) const { ItPrev((TypeLinkC*&)(ARRI_IterEasyID)); } TypeData & ItD(IterEasy AP_CLink ) {return GetDataInIter(AP_CLink );} - TypeData & ItD(IterEasyID ARRI_IterEasyID) {return GetDataInIter(ARRI_IterEasyID);} - TypeData & ItD(iterator & ARR_Iterator ) {return GetDataInIter(ARR_Iterator );} + TypeData & ItD(IterEasyID & ARRI_IterEasyID) {return GetDataInIter(ARRI_IterEasyID);} + TypeData & ItD(iterator & ARR_Iterator ) {return GetDataInIter(ARR_Iterator );} TypeDataC& ItD(IterEasyC AP_CLink ) const{return GetDataInIter(AP_CLink );} - TypeDataC& ItD(IterEasyIDc ARRI_IterEasyID) const{return GetDataInIter(ARRI_IterEasyID);} - TypeDataC& ItD(iteratorN& ARR_Iterator ) const{return GetDataInIter(ARR_Iterator );} + TypeDataC& ItD(IterEasyIDc& ARRI_IterEasyID) const{return GetDataInIter(ARRI_IterEasyID);} + TypeDataC& ItD(iteratorN & ARR_Iterator ) const{return GetDataInIter(ARR_Iterator );} TypeData & ItD(IterEasy AP_CLink , TypeSize AI_FarNum) {return GetDataInIter(AP_CLink , AI_FarNum);} - TypeData & ItD(IterEasyID ARRI_IterEasyID, TypeSize AI_FarNum) {return GetDataInIter(ARRI_IterEasyID, AI_FarNum);} - TypeData & ItD(iterator & ARR_Iterator , TypeSize AI_FarNum) {return GetDataInIter(ARR_Iterator , AI_FarNum);} + TypeData & ItD(IterEasyID & ARRI_IterEasyID, TypeSize AI_FarNum) {return GetDataInIter(ARRI_IterEasyID, AI_FarNum);} + TypeData & ItD(iterator & ARR_Iterator , TypeSize AI_FarNum) {return GetDataInIter(ARR_Iterator , AI_FarNum);} TypeDataC& ItD(IterEasyC AP_CLink , TypeSize AI_FarNum) const{return GetDataInIter(AP_CLink , AI_FarNum);} - TypeDataC& ItD(IterEasyIDc ARRI_IterEasyID, TypeSize AI_FarNum) const{return GetDataInIter(ARRI_IterEasyID, AI_FarNum);} + TypeDataC& ItD(IterEasyIDc& ARRI_IterEasyID, TypeSize AI_FarNum) const{return GetDataInIter(ARRI_IterEasyID, AI_FarNum);} TypeDataC& ItD(iteratorN& ARR_Iterator , TypeSize AI_FarNum) const{return GetDataInIter(ARR_Iterator , AI_FarNum);} diff --git a/ZCppMain/ZtCSimList.H b/ZCppMain/ZtCSimList.H index e8c2e0e..b59ba0e 100644 --- a/ZCppMain/ZtCSimList.H +++ b/ZCppMain/ZtCSimList.H @@ -2355,42 +2355,22 @@ namespace ZNsMain IterEasyIDc ItTID () const{return (IterEasyIDc)mp_TailLink;} - void ItNext(ZCLink*& APR_CLink ) - { MoveNextIter(APR_CLink) ; } - - void ItNext(IterEasyID& APPI_IterEasyID ) - { MoveNextIter(APPI_IterEasyID) ; } - - void ItNext(iterator& ARR_Iterator ) - { ++ARR_Iterator ; } + void ItNext(ZCLink* & APR_CLink ) { MoveNextIter(APR_CLink) ; } + void ItNext(IterEasyID & APPI_IterEasyID) { MoveNextIter(APPI_IterEasyID) ; } + void ItNext(iterator & ARR_Iterator ) { ++ARR_Iterator ; } /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - void ItNext(ZCLinkC*& APR_CLink ) const - { MoveNextIter(APR_CLink) ; } - - void ItNext(IterEasyIDc& APPI_IterEasyID) const - { MoveNextIter(APPI_IterEasyID) ; } - - void ItNext(iteratorN& ARR_Iterator ) const - { ++ARR_Iterator ; } + void ItNext(ZCLinkC* & APR_CLink ) const{ MoveNextIter(APR_CLink) ; } + void ItNext(IterEasyIDc& APPI_IterEasyID) const{ MoveNextIter(APPI_IterEasyID) ; } + void ItNext(iteratorN & ARR_Iterator ) const{ ++ARR_Iterator ; } - TypeData & ItD(ZCLink* AP_CLink ) - { return **AP_CLink; } - - TypeData & ItD(IterEasyID APPI_IterEasyID ) - { return ItD((ZCLink*)APPI_IterEasyID); } - - TypeData & ItD(iterator & ARR_Iterator ) - { return *ARR_Iterator; } + TypeData & ItD(ZCLink* AP_CLink ) { return **AP_CLink; } + TypeData & ItD(IterEasyID & APPI_IterEasyID ) { return ItD((ZCLink*)APPI_IterEasyID); } + TypeData & ItD(iterator & ARR_Iterator ) { return *ARR_Iterator; } /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - TypeDataC& ItD(ZCLinkC* AP_CLink ) const - { return **AP_CLink; } - - TypeDataC& ItD(IterEasyIDc APPI_IterEasyID ) const - { return ItD((ZCLinkC*)APPI_IterEasyID); } - - TypeDataC& ItD(iteratorN& ARR_Iterator ) const - { return *ARR_Iterator; } + TypeDataC& ItD(ZCLinkC* AP_CLink ) const{ return **AP_CLink; } + TypeDataC& ItD(IterEasyIDc& APPI_IterEasyID ) const{ return ItD((ZCLinkC*)APPI_IterEasyID); } + TypeDataC& ItD(iteratorN & ARR_Iterator ) const{ return *ARR_Iterator; } iterator begin () { return ZCNodePoint (*this); }