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."],[[["The `StreamRange\u003cT\u003e` class represents a range of `StatusOr\u003cT\u003e` objects, signaling the end of the stream with a non-OK `Status`."],["Iterators, accessed via `begin()` and `end()`, allow for standard C++ iteration over the `StreamRange`, utilizing constructs and algorithms designed for Input Iterators."],["`StreamRange` instances should be consumed by iterating, and cannot be copied but support move operations via move-only constructors and operators."],["The webpage provides access to various versions of the class `StreamRange` that includes a range from `2.10.1` to `2.37.0-rc` with `2.37.0-rc` being the latest version."],["`StreamRange` can also be used for testing purposes, such as mocking `Connection::ListFoo` calls, by using `google::cloud::mocks::MakeStreamRange`."]]],[]]
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