[−][src]Struct qt_gui::q_set_of_q_byte_array::Iterator
The QSet::iterator class provides an STL-style non-const iterator for QSet.
C++ class: QSet<QByteArray>::iterator
.
The QSet::iterator class provides an STL-style non-const iterator for QSet.
QSet features both STL-style iterators and Java-style iterators. The STL-style iterators are more low-level and more cumbersome to use; on the other hand, they are slightly faster and, for developers who already know STL, have the advantage of familiarity.
QSet<T>::iterator allows you to iterate over a QSet and to remove items (using QSet::erase()) while you iterate. (QSet doesn't let you modify a value through an iterator, because that would potentially require moving the value in the internal hash table used by QSet.) If you want to iterate over a const QSet, you should use QSet::const_iterator. It is generally good practice to use QSet::const_iterator on a non-const QSet as well, unless you need to change the QSet through the iterator. Const iterators are slightly faster, and can improve code readability.
The default QSet::iterator constructor creates an uninitialized iterator. You must initialize it using a function like QSet::begin(), QSet::end(), or QSet::insert() before you can start iterating. Here's a typical loop that prints all the items stored in a set:
QSet<QString> set; set << "January" << "February" << ... << "December";
QSet<QString>::iterator i; for (i = set.begin(); i != set.end(); ++i) qDebug() << *i;
Here's a loop that removes certain items (all those that start with 'J') from a set while iterating:
QSet<QString> set; set << "January" << "February" << ... << "December";
QSet<QString>::iterator i = set.begin(); while (i != set.end()) { if ((*i).startsWith('J')) { i = set.erase(i); } else { ++i; } }
STL-style iterators can be used as arguments to generic algorithms. For example, here's how to find an item in the set using the qFind() algorithm:
QSet<QString> set; ... QSet<QString>::iterator it = qFind(set.begin(), set.end(), "Jeanette"); if (it != set.end()) cout << "Found Jeanette" << endl;
Multiple iterators can be used on the same set.
Warning: Iterators on implicitly shared containers do not work exactly like STL-iterators. You should avoid copying a container while iterators are active on that container. For more information, read Implicit sharing iterator problem.
Methods
impl Iterator
[src]
pub unsafe fn copy_from(
&mut self,
o: impl CastInto<Ref<Iterator>>
) -> MutRef<Iterator>
[src]
&mut self,
o: impl CastInto<Ref<Iterator>>
) -> MutRef<Iterator>
Assigns other to this iterator.
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator=(const QSet<QByteArray>::iterator& o)
.
Assigns other to this iterator.
pub unsafe fn dec(&mut self) -> MutRef<Iterator>
[src]
The prefix -- operator (--i
) makes the preceding item current and returns an iterator pointing to the new current item.
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator--()
.
The prefix -- operator (--i
) makes the preceding item current and returns an iterator pointing to the new current item.
Calling this function on QHash::begin() leads to undefined results.
See also operator++().
pub unsafe fn dec_postfix(&mut self, arg1: c_int) -> CppBox<Iterator>
[src]
This is an overloaded function.
Calls C++ function: QSet<QByteArray>::iterator QSet<QByteArray>::iterator::operator--(int arg1)
.
This is an overloaded function.
The postfix -- operator (i--
) makes the preceding item current and returns an iterator pointing to the previously current item.
pub unsafe fn inc(&mut self) -> MutRef<Iterator>
[src]
The prefix ++ operator (++i
) advances the iterator to the next item in the hash and returns an iterator to the new current item.
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator++()
.
The prefix ++ operator (++i
) advances the iterator to the next item in the hash and returns an iterator to the new current item.
Calling this function on QHash::end() leads to undefined results.
See also operator--().
pub unsafe fn inc_postfix(&mut self, arg1: c_int) -> CppBox<Iterator>
[src]
This is an overloaded function.
Calls C++ function: QSet<QByteArray>::iterator QSet<QByteArray>::iterator::operator++(int arg1)
.
This is an overloaded function.
The postfix ++ operator (i++
) advances the iterator to the next item in the hash and returns an iterator to the previously current item.
pub unsafe fn indirection(&self) -> Ref<QByteArray>
[src]
Returns a modifiable reference to the current item's value.
Calls C++ function: const QByteArray& QSet<QByteArray>::iterator::operator*() const
.
pub unsafe fn new() -> CppBox<Iterator>
[src]
Constructs an uninitialized iterator.
Calls C++ function: [constructor] void QSet<QByteArray>::iterator::iterator()
.
Constructs an uninitialized iterator.
Functions like operator*() and operator++() should not be called on an uninitialized iterator. Use operator=() to assign a value to it before using it.
See also QSet::begin() and QSet::end().
pub unsafe fn new_copy(o: impl CastInto<Ref<Iterator>>) -> CppBox<Iterator>
[src]
Calls C++ function: [constructor] void QSet<QByteArray>::iterator::iterator(const QSet<QByteArray>::iterator& o)
.
pub unsafe fn struct_deref(&self) -> Ptr<QByteArray>
[src]
Returns a pointer to the current item's value.
Calls C++ function: const QByteArray* QSet<QByteArray>::iterator::operator->() const
.
Returns a pointer to the current item's value.
See also value().
Trait Implementations
impl<'_> Add<i32> for &'_ Iterator
[src]
type Output = CppBox<Iterator>
The resulting type after applying the +
operator.
fn add(self, j: c_int) -> CppBox<Iterator>
[src]
Returns an iterator to the item at j positions forward from this iterator. (If j is negative, the iterator goes backward.)
Calls C++ function: QSet<QByteArray>::iterator QSet<QByteArray>::iterator::operator+(int j) const
.
Returns an iterator to the item at j positions forward from this iterator. (If j is negative, the iterator goes backward.)
This operation can be slow for large j values.
See also operator-().
impl AddAssign<i32> for Iterator
[src]
fn add_assign(&mut self, j: c_int)
[src]
Advances the iterator by j items. (If j is negative, the iterator goes backward.)
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator+=(int j)
.
Advances the iterator by j items. (If j is negative, the iterator goes backward.)
See also operator-=() and operator+().
impl CppDeletable for Iterator
[src]
unsafe fn delete(&mut self)
[src]
The QSet::iterator class provides an STL-style non-const iterator for QSet.
Calls C++ function: [destructor] void QSet<QByteArray>::iterator::~iterator()
.
The QSet::iterator class provides an STL-style non-const iterator for QSet.
QSet features both STL-style iterators and Java-style iterators. The STL-style iterators are more low-level and more cumbersome to use; on the other hand, they are slightly faster and, for developers who already know STL, have the advantage of familiarity.
QSet<T>::iterator allows you to iterate over a QSet and to remove items (using QSet::erase()) while you iterate. (QSet doesn't let you modify a value through an iterator, because that would potentially require moving the value in the internal hash table used by QSet.) If you want to iterate over a const QSet, you should use QSet::const_iterator. It is generally good practice to use QSet::const_iterator on a non-const QSet as well, unless you need to change the QSet through the iterator. Const iterators are slightly faster, and can improve code readability.
The default QSet::iterator constructor creates an uninitialized iterator. You must initialize it using a function like QSet::begin(), QSet::end(), or QSet::insert() before you can start iterating. Here's a typical loop that prints all the items stored in a set:
QSet<QString> set; set << "January" << "February" << ... << "December";
QSet<QString>::iterator i; for (i = set.begin(); i != set.end(); ++i) qDebug() << *i;
Here's a loop that removes certain items (all those that start with 'J') from a set while iterating:
QSet<QString> set; set << "January" << "February" << ... << "December";
QSet<QString>::iterator i = set.begin(); while (i != set.end()) { if ((*i).startsWith('J')) { i = set.erase(i); } else { ++i; } }
STL-style iterators can be used as arguments to generic algorithms. For example, here's how to find an item in the set using the qFind() algorithm:
QSet<QString> set; ... QSet<QString>::iterator it = qFind(set.begin(), set.end(), "Jeanette"); if (it != set.end()) cout << "Found Jeanette" << endl;
Multiple iterators can be used on the same set.
Warning: Iterators on implicitly shared containers do not work exactly like STL-iterators. You should avoid copying a container while iterators are active on that container. For more information, read Implicit sharing iterator problem.
impl Decrement for Iterator
[src]
type Output = MutRef<Iterator>
Output type.
unsafe fn dec(&mut self) -> MutRef<Iterator>
[src]
The prefix -- operator (--i
) makes the preceding item current and returns an iterator pointing to the new current item.
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator--()
.
The prefix -- operator (--i
) makes the preceding item current and returns an iterator pointing to the new current item.
Calling this function on QHash::begin() leads to undefined results.
See also operator++().
impl Increment for Iterator
[src]
type Output = MutRef<Iterator>
Output type.
unsafe fn inc(&mut self) -> MutRef<Iterator>
[src]
The prefix ++ operator (++i
) advances the iterator to the next item in the hash and returns an iterator to the new current item.
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator++()
.
The prefix ++ operator (++i
) advances the iterator to the next item in the hash and returns an iterator to the new current item.
Calling this function on QHash::end() leads to undefined results.
See also operator--().
impl Indirection for Iterator
[src]
type Output = Ref<QByteArray>
Output type.
unsafe fn indirection(&self) -> Ref<QByteArray>
[src]
Returns a modifiable reference to the current item's value.
Calls C++ function: const QByteArray& QSet<QByteArray>::iterator::operator*() const
.
impl PartialEq<Ref<ConstIterator>> for Iterator
[src]
fn eq(&self, o: &Ref<ConstIterator>) -> bool
[src]
Returns true
if other points to the same item as this iterator; otherwise returns false
.
Calls C++ function: bool QSet<QByteArray>::iterator::operator==(const QSet<QByteArray>::const_iterator& o) const
.
Returns true
if other points to the same item as this iterator; otherwise returns false
.
See also operator!=().
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<Ref<Iterator>> for Iterator
[src]
fn eq(&self, o: &Ref<Iterator>) -> bool
[src]
Returns true
if other points to the same item as this iterator; otherwise returns false
.
Calls C++ function: bool QSet<QByteArray>::iterator::operator==(const QSet<QByteArray>::iterator& o) const
.
Returns true
if other points to the same item as this iterator; otherwise returns false
.
See also operator!=().
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'_> Sub<i32> for &'_ Iterator
[src]
type Output = CppBox<Iterator>
The resulting type after applying the -
operator.
fn sub(self, j: c_int) -> CppBox<Iterator>
[src]
Returns an iterator to the item at j positions backward from this iterator. (If j is negative, the iterator goes forward.)
Calls C++ function: QSet<QByteArray>::iterator QSet<QByteArray>::iterator::operator-(int j) const
.
Returns an iterator to the item at j positions backward from this iterator. (If j is negative, the iterator goes forward.)
This operation can be slow for large j values.
See also operator+().
impl SubAssign<i32> for Iterator
[src]
fn sub_assign(&mut self, j: c_int)
[src]
Makes the iterator go back by j items. (If j is negative, the iterator goes forward.)
Calls C++ function: QSet<QByteArray>::iterator& QSet<QByteArray>::iterator::operator-=(int j)
.
Makes the iterator go back by j items. (If j is negative, the iterator goes forward.)
See also operator+=() and operator-().
Auto Trait Implementations
impl RefUnwindSafe for Iterator
impl Send for Iterator
impl Sync for Iterator
impl Unpin for Iterator
impl UnwindSafe for Iterator
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> CastInto<U> for T where
U: CastFrom<T>,
[src]
U: CastFrom<T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> StaticUpcast<T> for T
[src]
unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>
[src]
unsafe fn static_upcast_mut(ptr: MutPtr<T>) -> MutPtr<T>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,