returns zero value if iteration is finished, non-zero otherwise
| 495 | |
| 496 | // returns zero value if iteration is finished, non-zero otherwise |
| 497 | CV_IMPL int cvNextNArraySlice( CvNArrayIterator* iterator ) |
| 498 | { |
| 499 | assert( iterator != 0 ); |
| 500 | int i, dims, size = 0; |
| 501 | |
| 502 | for( dims = iterator->dims; dims > 0; dims-- ) |
| 503 | { |
| 504 | for( i = 0; i < iterator->count; i++ ) |
| 505 | iterator->ptr[i] += iterator->hdr[i]->dim[dims-1].step; |
| 506 | |
| 507 | if( --iterator->stack[dims-1] > 0 ) |
| 508 | break; |
| 509 | |
| 510 | size = iterator->hdr[0]->dim[dims-1].size; |
| 511 | |
| 512 | for( i = 0; i < iterator->count; i++ ) |
| 513 | iterator->ptr[i] -= (size_t)size*iterator->hdr[i]->dim[dims-1].step; |
| 514 | |
| 515 | iterator->stack[dims-1] = size; |
| 516 | } |
| 517 | |
| 518 | return dims > 0; |
| 519 | } |
| 520 | |
| 521 | |
| 522 | /****************************************************************************************\ |
no outgoing calls
no test coverage detected