Stay organized with collections Save and categorize content based on your preferences.
A StreamRange
<T>
is a range of StatusOr
<T>
where the end-of-stream is indicated by a non-OK Status
.
Callers can iterate the range using its begin()
and end()
members to access iterators that will work with any normal C++ constructs and algorithms that accept Input Iterators.
Callers should only consume/iterate this range.
Example: Iterating a range of 10 integers// Some function that returns a StreamRange<int>
StreamRange<int> MakeRangeFromOneTo(int n);
StreamRange<int> sr = MakeRangeFromOneTo(10);
for (StatusOr<int> const& x : sr) {
if (!x) {
std::cerr << "Fail: " << x.status() << "\n";
} else {
std::cout << *x << "\n";
}
}
Note: To construct a StreamRange
<T>
for testing (e.g. to mock a Connection::ListFoo
call), see google::cloud::mocks::MakeStreamRange
. Constructors StreamRange(StreamRange const &)
Move-only
Parameter Name Description
StreamRange const &
Move-only
Parameter Name Description
StreamRange &&
Default-constructs an empty range.
Operators operator=(StreamRange const &)Move-only
Parameter Name Description
StreamRange const &
StreamRange &
operator=(StreamRange &&)
Move-only
Parameter Name Description
StreamRange &&
StreamRange &
Functions begin() Returns Type Description iterator
end() Returns Type Description iterator
Type Aliases value_type
Alias Of: StatusOr< T >
Alias Of: IteratorImpl< value_type >
Alias Of: typename iterator::difference_type
Alias Of: typename iterator::reference
Alias Of: typename iterator::pointer
Alias Of: typename iterator::const_reference
Alias Of: typename iterator::const_pointer
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["This page details the `StreamRange\u003cT\u003e` class, which represents a range of `StatusOr\u003cT\u003e` values, where a non-OK `Status` indicates the end of the stream."],["Callers can iterate through the `StreamRange` using its `begin()` and `end()` members, which provide iterators compatible with standard C++ constructs and algorithms that support Input Iterators."],["The `StreamRange` class is move-only, and it can be default-constructed to create an empty range."],["The end of a `StreamRange` is indicated by a non-OK `Status`, allowing for error handling during iteration."],["The provided content includes a list of different version of this `StreamRange` class with the latest version being 2.37.0-rc and the oldest being 2.10.1."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4