IntIterHelpers

## Classes

class | Cgu::IntIter
| An iterator class providing a lazy integer range over a virtual container. More...

## Functions

bool | Cgu::operator== (IntIter iter1, IntIter iter2)
bool | Cgu::operator!= (IntIter iter1, IntIter iter2)
bool | Cgu::operator< (IntIter iter1, IntIter iter2)
bool | Cgu::operator> (IntIter iter1, IntIter iter2)
bool | Cgu::operator<= (IntIter iter1, IntIter iter2)
bool | Cgu::operator>= (IntIter iter1, IntIter iter2)
IntIter::difference_type | Cgu::operator- (IntIter iter1, IntIter iter2)
IntIter | Cgu::operator+ (IntIter iter, IntIter::difference_type n)
IntIter | Cgu::operator- (IntIter iter, IntIter::difference_type n)
IntIter | Cgu::operator+ (IntIter::difference_type n, IntIter iter)

## Detailed Description

## Function Documentation

## operator!=()

bool Cgu::operator!= | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator+() [1/2]

IntIter Cgu::operator+ | ( | IntIter | iter,
|  | IntIter::difference_type | n
| ) |  |

inline

This operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator+() [2/2]

IntIter Cgu::operator+ | ( | IntIter::difference_type | n,
|  | IntIter | iter
| ) |  |

inline

This operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator-() [1/2]

IntIter Cgu::operator- | ( | IntIter | iter,
|  | IntIter::difference_type | n
| ) |  |

inline

This operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator-() [2/2]

IntIter::difference_type Cgu::operator- | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator<()

bool Cgu::operator< | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator<=()

bool Cgu::operator<= | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls the functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator==()

bool Cgu::operator== | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator>()

bool Cgu::operator> | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.

## operator>=()

bool Cgu::operator>= | ( | IntIter | iter1,
|  | IntIter | iter2
| ) |  |

inline

This comparison operator does not throw. No locking is carried out, so if one of the iterators is accessed in more than one thread and a thread calls a non-const method, the user must provide synchronization (but Cgu::Thread::parallel_for_each(), Cgu::Thread::parallel_for_each_partial(), Cgu::Thread::parallel_transform() and Cgu::Thread::parallel_transform_partial() only access source and destination iterators in the thread which calls those functions, so use of an IntIter object only by one of those functions does not require synchronization).

Since 2.0.27.