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 document outlines 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."],["The `StreamRange` is iterable using its `begin()` and `end()` methods, allowing it to be used with C++ constructs and algorithms that work with Input Iterators."],["Callers are advised to only consume and iterate through the `StreamRange`."],["The `StreamRange` class has move-only constructors and assignment operators."],["The latest version of the `StreamRange` class is 2.37.0-rc, and it lists several other versions from 2.36.0 down to 2.10.1 that are available."]]],[]]
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