View source code
Display the source code in std/range/interfaces.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.
std.range.interfaces.OutputRangeObject/outputRangeObject
- multiple declarations
Class OutputRangeObject
Implements the OutputRange
interface for all types E and wraps the
put
method for each type E
in a virtual function.
class OutputRangeObject(R, E...)
;
Constructors
Name | Description |
---|---|
this
(range)
|
Methods
Name | Description |
---|---|
factory
(classname)
|
Create instance of class specified by the fully qualified name classname. The class must either have no constructors or have a default constructor. |
opCmp
(o)
|
Compare with another Object obj. |
opEquals
(o)
|
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. |
Template outputRangeObject
Convenience function for creating an OutputRangeObject
with a base range
of type R
that accepts types E
.
template outputRangeObject(E...)
;
Contained Functions
Name | Description |
---|---|
outputRangeObject |
Example
import std .array;
auto app = appender!(uint[])();
auto appWrapped = outputRangeObject!(uint, uint[])(app);
static assert(is(typeof(appWrapped) : OutputRange!(uint[])));
static assert(is(typeof(appWrapped) : OutputRange!(uint)));
Authors
Andrei Alexandrescu, David Simcha, and Jonathan M Davis. Credit for some of the ideas in building this module goes to Leonardo Maffi.
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.