diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-03-21 15:27:47 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-03-21 15:27:47 -0700 |
commit | 92539a91a0e8606a88232643980de18af4a2f860 (patch) | |
tree | a005757147d9747e8ba31480aafb79b05bc8b851 /src/misc/vec/vecInt.h | |
parent | 0dc699f777e088f876df80694967bbdd34360525 (diff) | |
download | abc-92539a91a0e8606a88232643980de18af4a2f860.tar.gz abc-92539a91a0e8606a88232643980de18af4a2f860.tar.bz2 abc-92539a91a0e8606a88232643980de18af4a2f860.zip |
Added one currently unused iterator.
Diffstat (limited to 'src/misc/vec/vecInt.h')
-rw-r--r-- | src/misc/vec/vecInt.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index 59493666..882326b2 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -55,16 +55,18 @@ struct Vec_Int_t_ for ( i = 0; (i < Vec_IntSize(vVec)) && (((Entry) = Vec_IntEntry(vVec, i)), 1); i++ ) #define Vec_IntForEachEntryStart( vVec, Entry, i, Start ) \ for ( i = Start; (i < Vec_IntSize(vVec)) && (((Entry) = Vec_IntEntry(vVec, i)), 1); i++ ) -#define Vec_IntForEachEntryStop( vVec, Entry, i, Stop ) \ +#define Vec_IntForEachEntryStop( vVec, Entry, i, Stop ) \ for ( i = 0; (i < Stop) && (((Entry) = Vec_IntEntry(vVec, i)), 1); i++ ) #define Vec_IntForEachEntryStartStop( vVec, Entry, i, Start, Stop ) \ for ( i = Start; (i < Stop) && (((Entry) = Vec_IntEntry(vVec, i)), 1); i++ ) #define Vec_IntForEachEntryReverse( vVec, pEntry, i ) \ for ( i = Vec_IntSize(vVec) - 1; (i >= 0) && (((pEntry) = Vec_IntEntry(vVec, i)), 1); i-- ) -#define Vec_IntForEachEntryTwo( vVec1, vVec2, Entry1, Entry2, i ) \ +#define Vec_IntForEachEntryTwo( vVec1, vVec2, Entry1, Entry2, i ) \ for ( i = 0; (i < Vec_IntSize(vVec1)) && (((Entry1) = Vec_IntEntry(vVec1, i)), 1) && (((Entry2) = Vec_IntEntry(vVec2, i)), 1); i++ ) -#define Vec_IntForEachEntryDouble( vVec, Entry1, Entry2, i ) \ +#define Vec_IntForEachEntryDouble( vVec, Entry1, Entry2, i ) \ for ( i = 0; (i+1 < Vec_IntSize(vVec)) && (((Entry1) = Vec_IntEntry(vVec, i)), 1) && (((Entry2) = Vec_IntEntry(vVec, i+1)), 1); i += 2 ) +#define Vec_IntForEachEntryThisNext( vVec, This, Next, i ) \ + for ( i = 0, (This) = (Next) = (Vec_IntSize(vVec) ? Vec_IntEntry(vVec, 0) : -1); (i+1 < Vec_IntSize(vVec)) && (((Next) = Vec_IntEntry(vVec, i+1)), 1); i += 2, (This) = (Next) ) //////////////////////////////////////////////////////////////////////// /// FUNCTION DEFINITIONS /// |