Без опису

Sam Jaffe d7fbf79638 Complete overhaul to begin mimicing std::ranges 2 роки тому
external 8927ee4ff8 refactor: use iterator lib for filter/flatmap 2 роки тому
include d7fbf79638 Complete overhaul to begin mimicing std::ranges 2 роки тому
stream-test 457827ddf8 Convert to GoogleTest 6 роки тому
stream.xcodeproj d7fbf79638 Complete overhaul to begin mimicing std::ranges 2 роки тому
test d7fbf79638 Complete overhaul to begin mimicing std::ranges 2 роки тому
.clang-format 5468a8168f refactor: clang-format change 2 роки тому
.gitignore 0d37362b9d Add a simple readme. 5 роки тому
.gitmodules 42849290da refactor: implement stream::iterator using iterator::facade 2 роки тому
README.md 0d37362b9d Add a simple readme. 5 роки тому

README.md

Stream

A lazily evaluated container stream library build around the concept of Java's Stream library.

Constructs

Source Stream

A series of factory methods that allow the construction of streams from various input objects, such as containers, iterator ranges, and integer ranges.

Filter Stream

A stream that only returns the elements of its source that match the given predicate. The predicate is lazily evaluated, meaning that each call to advance the iterator may make multiple calls to advance the underlying value.

Map Stream

Provides the ability to transform a stream from one type to another. Two different features are provided here: map() and flatmap().
Map takes a function T -> R and performs the transformation stream<T> -> stream<R>.
Flatmap takes a function T -> Container<R> and performs the transformation stream<T> -> stream<R>.

Fluent Interface

The fluent interface allows you to link together a stream with comprehensions using some simple primitives.

  • Map Function: stream | function
  • Flatmap Function: stream || function
  • Filter Stream: stream % predicate
  • Collect Stream: stream > container