c++-gtk-utils
Classes | Functions
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) noexcept
 
bool Cgu::operator!= (IntIter iter1, IntIter iter2) noexcept
 
bool Cgu::operator< (IntIter iter1, IntIter iter2) noexcept
 
bool Cgu::operator> (IntIter iter1, IntIter iter2) noexcept
 
bool Cgu::operator<= (IntIter iter1, IntIter iter2) noexcept
 
bool Cgu::operator>= (IntIter iter1, IntIter iter2) noexcept
 
IntIter::difference_type Cgu::operator- (IntIter iter1, IntIter iter2) noexcept
 
IntIter Cgu::operator+ (IntIter iter, IntIter::difference_type n) noexcept
 
IntIter Cgu::operator- (IntIter iter, IntIter::difference_type n) noexcept
 
IntIter Cgu::operator+ (IntIter::difference_type n, IntIter iter) noexcept
 

Detailed Description

Function Documentation

◆ operator!=()

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

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 and 2.2.10.

◆ operator+() [1/2]

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

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 and 2.2.10.

◆ operator+() [2/2]

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

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 and 2.2.10.

◆ operator-() [1/2]

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

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 and 2.2.10.

◆ operator-() [2/2]

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

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 and 2.2.10.

◆ operator<()

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

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 and 2.2.10.

◆ operator<=()

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

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 and 2.2.10.

◆ operator==()

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

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 and 2.2.10.

◆ operator>()

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

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 and 2.2.10.

◆ operator>=()

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

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 and 2.2.10.