View source code Display the source code in std/range/interfaces.d from which this page was generated on github. 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. Page wiki View or edit the community-maintained wiki page associated with this page.

std.range.interfaces.output_range_object - 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.

Inherits from

Methods

Name Description
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 Returns !=0 if this object does have the same contents as obj.
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.

Arguments

template outputRangeObject(E...);

Functions

Function 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

Boost License 1.0.

Comments