#[repr(C)]
pub struct Iterator { /* private fields */ }
Expand description

The QSet::iterator class provides an STL-style non-const iterator for QSet.

C++ class: QSet<QAbstractState*>::iterator.

C++ documentation:

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.

Implementations§

source§

impl Iterator

source

pub unsafe fn add_assign(&self, j: c_int) -> Ref<Iterator>

Advances the iterator by j items. (If j is negative, the iterator goes backward.)

Calls C++ function: QSet<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator+=(int j).

C++ documentation:

Advances the iterator by j items. (If j is negative, the iterator goes backward.)

See also operator-=() and operator+().

source

pub unsafe fn copy_from(&self, o: impl CastInto<Ref<Iterator>>) -> Ref<Iterator>

Assigns other to this iterator.

Calls C++ function: QSet<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator=(const QSet<QAbstractState*>::iterator& o).

C++ documentation:

Assigns other to this iterator.

source

pub unsafe fn dec(&self) -> Ref<Iterator>

The prefix -- operator (--i) makes the preceding item current and returns an iterator pointing to the new current item.

Calls C++ function: QSet<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator--().

C++ documentation:

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++().

source

pub unsafe fn dec_postfix(&self, arg1: c_int) -> CppBox<Iterator>

This is an overloaded function.

Calls C++ function: QSet<QAbstractState*>::iterator QSet<QAbstractState*>::iterator::operator--(int arg1).

C++ documentation:

This is an overloaded function.

The postfix -- operator (i--) makes the preceding item current and returns an iterator pointing to the previously current item.

source

pub unsafe fn inc(&self) -> Ref<Iterator>

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<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator++().

C++ documentation:

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--().

source

pub unsafe fn inc_postfix(&self, arg1: c_int) -> CppBox<Iterator>

This is an overloaded function.

Calls C++ function: QSet<QAbstractState*>::iterator QSet<QAbstractState*>::iterator::operator++(int arg1).

C++ documentation:

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.

source

pub unsafe fn indirection(&self) -> *const *mut QAbstractState

Returns a modifiable reference to the current item's value.

Calls C++ function: const QAbstractState*& QSet<QAbstractState*>::iterator::operator*() const.

C++ documentation:

Returns a modifiable reference to the current item’s value.

Same as value().

See also key().

source

pub unsafe fn new() -> CppBox<Iterator>

Constructs an uninitialized iterator.

Calls C++ function: [constructor] void QSet<QAbstractState*>::iterator::iterator().

C++ documentation:

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().

source

pub unsafe fn new_copy(o: impl CastInto<Ref<Iterator>>) -> CppBox<Iterator>

Calls C++ function: [constructor] void QSet<QAbstractState*>::iterator::iterator(const QSet<QAbstractState*>::iterator& o).

source

pub unsafe fn struct_deref(&self) -> *const *mut QAbstractState

Returns a pointer to the current item's value.

Calls C++ function: const QAbstractState** QSet<QAbstractState*>::iterator::operator->() const.

C++ documentation:

Returns a pointer to the current item’s value.

See also value().

source

pub unsafe fn sub_assign(&self, j: c_int) -> Ref<Iterator>

Makes the iterator go back by j items. (If j is negative, the iterator goes forward.)

Calls C++ function: QSet<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator-=(int j).

C++ documentation:

Makes the iterator go back by j items. (If j is negative, the iterator goes forward.)

See also operator+=() and operator-().

Trait Implementations§

source§

impl Add<i32> for &Iterator

source§

fn add(self, j: c_int) -> CppBox<Iterator>

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<QAbstractState*>::iterator QSet<QAbstractState*>::iterator::operator+(int j) const.

C++ documentation:

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-().

§

type Output = CppBox<Iterator>

The resulting type after applying the + operator.
source§

impl CppDeletable for Iterator

source§

unsafe fn delete(&self)

The QSet::iterator class provides an STL-style non-const iterator for QSet.

Calls C++ function: [destructor] void QSet<QAbstractState*>::iterator::~iterator().

C++ documentation:

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.

source§

impl Decrement for Iterator

source§

unsafe fn dec(&self) -> Ref<Iterator>

The prefix -- operator (--i) makes the preceding item current and returns an iterator pointing to the new current item.

Calls C++ function: QSet<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator--().

C++ documentation:

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++().

§

type Output = Ref<Iterator>

Output type.
source§

impl Increment for Iterator

source§

unsafe fn inc(&self) -> Ref<Iterator>

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<QAbstractState*>::iterator& QSet<QAbstractState*>::iterator::operator++().

C++ documentation:

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--().

§

type Output = Ref<Iterator>

Output type.
source§

impl Indirection for Iterator

source§

unsafe fn indirection(&self) -> *const *mut QAbstractState

Returns a modifiable reference to the current item's value.

Calls C++ function: const QAbstractState*& QSet<QAbstractState*>::iterator::operator*() const.

C++ documentation:

Returns a modifiable reference to the current item’s value.

Same as value().

See also key().

§

type Output = *const *mut QAbstractState

Output type.
source§

impl PartialEq<Ref<ConstIterator>> for Iterator

source§

fn eq(&self, o: &Ref<ConstIterator>) -> bool

Returns true if other points to the same item as this iterator; otherwise returns false.

Calls C++ function: bool QSet<QAbstractState*>::iterator::operator==(const QSet<QAbstractState*>::const_iterator& o) const.

C++ documentation:

Returns true if other points to the same item as this iterator; otherwise returns false.

See also operator!=().

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Ref<Iterator>> for Iterator

source§

fn eq(&self, o: &Ref<Iterator>) -> bool

Returns true if other points to the same item as this iterator; otherwise returns false.

Calls C++ function: bool QSet<QAbstractState*>::iterator::operator==(const QSet<QAbstractState*>::iterator& o) const.

C++ documentation:

Returns true if other points to the same item as this iterator; otherwise returns false.

See also operator!=().

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Sub<i32> for &Iterator

source§

fn sub(self, j: c_int) -> CppBox<Iterator>

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<QAbstractState*>::iterator QSet<QAbstractState*>::iterator::operator-(int j) const.

C++ documentation:

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+().

§

type Output = CppBox<Iterator>

The resulting type after applying the - operator.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

unsafe fn cast_into(self) -> U

Performs the conversion. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> StaticUpcast<T> for T

source§

unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>

Convert type of a const pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.