View source code
Display the source code in std/concurrency.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Class std.concurrency.Generator
A Generator is a Fiber that periodically returns values of type T to the caller via yield. This is represented as an InputRange.
class Generator(T)
;
Constructors
Name | Description |
---|---|
this
|
Initializes a generator object which is associated with a static D function. The function will be called once to prepare the range for iteration. |
this
|
Initializes a generator object which is associated with a static D function. The function will be called once to prepare the range for iteration. |
this
|
Initializes a generator object which is associated with a static D function. The function will be called once to prepare the range for iteration. |
this
|
Initializes a generator object which is associated with a dynamic D function. The function will be called once to prepare the range for iteration. |
this
|
Initializes a generator object which is associated with a dynamic D function. The function will be called once to prepare the range for iteration. |
this
|
Initializes a generator object which is associated with a dynamic D function. The function will be called once to prepare the range for iteration. |
Properties
Name | Type | Description |
---|---|---|
empty [get]
|
bool | Returns true if the generator is empty. |
front [get]
|
T | Returns the most recently generated value by shallow copy. |
Methods
Name | Description |
---|---|
moveFront
|
Returns the most recently generated value without executing a copy contructor. Will not compile for element types defining a postblit, because Generator does not return by reference. |
popFront
|
Obtains the next value from the underlying function. |
factory
|
Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor. |
opCmp
|
Compare with another Object obj. |
opEquals
|
Test whether this is equal to o .
The default implementation only compares by identity (using the is operator).
Generally, overrides for opEquals should attempt to compare objects by their contents.
|
toHash
|
Compute hash function for Object. |
toString
|
Convert Object to a human readable string. |
Example
import std .concurrency;
import std .stdio;
void main()
{
auto tid = spawn(
{
while (true)
{
writeln(receiveOnly!int());
}
});
auto r = new Generator!int(
{
foreach (i; 1 .. 10)
yield(i);
});
foreach (e; r)
{
tid .send(e);
}
}
Authors
Sean Kelly, Alex Rønne Petersen, Martin Nowak
License
Copyright © 1999-2018 by the D Language Foundation | Page generated by ddox.