# Enum std::ops::GeneratorState [−][src]

#[lang = "generator_state"]pub enum GeneratorState<Y, R> { Yielded(Y), Complete(R), }

The result of a generator resumption.

This enum is returned from the `Generator::resume`

method and indicates the
possible return values of a generator. Currently this corresponds to either
a suspension point (`Yielded`

) or a termination point (`Complete`

).

## Variants

`Yielded(Y)`

The generator suspended with a value.

This state indicates that a generator has been suspended, and typically
corresponds to a `yield`

statement. The value provided in this variant
corresponds to the expression passed to `yield`

and allows generators to
provide a value each time they yield.

`Complete(R)`

The generator completed with a return value.

This state indicates that a generator has finished execution with the
provided value. Once a generator has returned `Complete`

it is
considered a programmer error to call `resume`

again.

## Trait Implementations

`impl<Y, R> Copy for GeneratorState<Y, R> where`

R: Copy,

Y: Copy,

[src]

`impl<Y, R> Copy for GeneratorState<Y, R> where`

R: Copy,

Y: Copy,

`impl<Y, R> Hash for GeneratorState<Y, R> where`

R: Hash,

Y: Hash,

[src]

`impl<Y, R> Hash for GeneratorState<Y, R> where`

R: Hash,

Y: Hash,

`fn hash<__HYR>(&self, state: &mut __HYR) where`

__HYR: Hasher,

[src]

`fn hash<__HYR>(&self, state: &mut __HYR) where`

__HYR: Hasher,

Feeds this value into the given [`Hasher`

]. Read more

`fn hash_slice<H>(data: &[Self], state: &mut H) where`

H: Hasher,

1.3.0[src]

`fn hash_slice<H>(data: &[Self], state: &mut H) where`

H: Hasher,

Feeds a slice of this type into the given [`Hasher`

]. Read more

`impl<Y, R> Clone for GeneratorState<Y, R> where`

R: Clone,

Y: Clone,

[src]

`impl<Y, R> Clone for GeneratorState<Y, R> where`

R: Clone,

Y: Clone,

`fn clone(&self) -> GeneratorState<Y, R>`

[src]

`fn clone(&self) -> GeneratorState<Y, R>`

Returns a copy of the value. Read more

`fn clone_from(&mut self, source: &Self)`

1.0.0[src]

`fn clone_from(&mut self, source: &Self)`

Performs copy-assignment from `source`

. Read more

`impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where`

R: PartialOrd<R>,

Y: PartialOrd<Y>,

[src]

`impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where`

R: PartialOrd<R>,

Y: PartialOrd<Y>,

`fn partial_cmp(&self, other: &GeneratorState<Y, R>) -> Option<Ordering>`

[src]

`fn partial_cmp(&self, other: &GeneratorState<Y, R>) -> Option<Ordering>`

This method returns an ordering between `self`

and `other`

values if one exists. Read more

`fn lt(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn lt(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests less than (for `self`

and `other`

) and is used by the `<`

operator. Read more

`fn le(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn le(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests less than or equal to (for `self`

and `other`

) and is used by the `<=`

operator. Read more

`fn gt(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn gt(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests greater than (for `self`

and `other`

) and is used by the `>`

operator. Read more

`fn ge(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn ge(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests greater than or equal to (for `self`

and `other`

) and is used by the `>=`

operator. Read more

`impl<Y, R> Ord for GeneratorState<Y, R> where`

R: Ord,

Y: Ord,

[src]

`impl<Y, R> Ord for GeneratorState<Y, R> where`

R: Ord,

Y: Ord,

`fn cmp(&self, other: &GeneratorState<Y, R>) -> Ordering`

[src]

`fn cmp(&self, other: &GeneratorState<Y, R>) -> Ordering`

This method returns an `Ordering`

between `self`

and `other`

. Read more

`fn max(self, other: Self) -> Self`

1.21.0[src]

`fn max(self, other: Self) -> Self`

Compares and returns the maximum of two values. Read more

`fn min(self, other: Self) -> Self`

1.21.0[src]

`fn min(self, other: Self) -> Self`

Compares and returns the minimum of two values. Read more

`impl<Y, R> Eq for GeneratorState<Y, R> where`

R: Eq,

Y: Eq,

[src]

`impl<Y, R> Eq for GeneratorState<Y, R> where`

R: Eq,

Y: Eq,

`impl<Y, R> Debug for GeneratorState<Y, R> where`

R: Debug,

Y: Debug,

[src]

`impl<Y, R> Debug for GeneratorState<Y, R> where`

R: Debug,

Y: Debug,

`fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`

[src]

`fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`

Formats the value using the given formatter. Read more

`impl<Y, R> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R> where`

R: PartialEq<R>,

Y: PartialEq<Y>,

[src]

`impl<Y, R> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R> where`

R: PartialEq<R>,

Y: PartialEq<Y>,

`fn eq(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn eq(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests for `self`

and `other`

values to be equal, and is used by `==`

. Read more

`fn ne(&self, other: &GeneratorState<Y, R>) -> bool`

[src]

`fn ne(&self, other: &GeneratorState<Y, R>) -> bool`

This method tests for `!=`

.

## Auto Trait Implementations

`impl<Y, R> Send for GeneratorState<Y, R> where`

R: Send,

Y: Send,

`impl<Y, R> Send for GeneratorState<Y, R> where`

R: Send,

Y: Send,

`impl<Y, R> Sync for GeneratorState<Y, R> where`

R: Sync,

Y: Sync,

`impl<Y, R> Sync for GeneratorState<Y, R> where`

R: Sync,

Y: Sync,