// Create a range for the keys starting with the given prefix.
auto range = bigtable::RowRange::StartingAt("foo/");
Constructors
RowRange(::google::bigtable::v2::RowRange)
Parameter
Name
Description
rhs
::google::bigtable::v2::RowRange
RowRange(RowRange &&)
Parameter
Name
Description
RowRange &&
RowRange(RowRange const &)
Parameter
Name
Description
RowRange const &
Operators
operator=(RowRange &&)
Parameter
Name
Description
RowRange &&
Returns
Type
Description
RowRange &
operator=(RowRange const &)
Parameter
Name
Description
RowRange const &
Returns
Type
Description
RowRange &
Functions
static RightOpen(T &&, U &&)
Return a range representing the interval (begin, end].
Return a range representing the interval [begin, end).
Parameters
Name
Description
begin
T &&
end
U &&
typename T
typename U
Returns
Type
Description
RowRange
static LeftOpen(T &&, U &&)
Return a range representing the interval (begin, end].
Return a range representing the interval [begin, end).
Parameters
Name
Description
begin
T &&
end
U &&
typename T
typename U
Returns
Type
Description
RowRange
static Open(T &&, U &&)
Return a range representing the interval (begin, end).
Return a range representing the interval [begin, end).
Parameters
Name
Description
begin
T &&
end
U &&
typename T
typename U
Returns
Type
Description
RowRange
static Closed(T &&, U &&)
Return a range representing the interval [begin, end].
Return a range representing the interval [begin, end).
Parameters
Name
Description
begin
T &&
end
U &&
typename T
typename U
Returns
Type
Description
RowRange
IsEmpty() const
Return true if the range is empty.
Note that some ranges (such as ["", ""]) are not empty but only include invalid row keys.
Returns
Type
Description
bool
Contains(T const &) const
Return true if key is in the range.
Parameters
Name
Description
key
T const &
typename T
Returns
Type
Description
bool
Intersect(RowRange const &) const
Compute the intersection against another RowRange.
Parameter
Name
Description
range
RowRange const &
Returns
Type
Description
std::pair< bool, RowRange >
a 2-tuple, the first element is a boolean, with value true if there is some intersection, the second element is the intersection. If there is no intersection the first element is false and the second element has a valid, but unspecified value.
as_proto() const &
Return the filter expression as a protobuf.
Returns
Type
Description
::google::bigtable::v2::RowRange const &
as_proto() &&
Move out the underlying protobuf value.
Returns
Type
Description
::google::bigtable::v2::RowRange &&
static InfiniteRange()
Return the infinite range, i.e., a range including all possible keys.
Returns
Type
Description
RowRange
static StartingAt(T &&)
Return the range starting at begin (included), with no upper limit.
Parameters
Name
Description
begin
T &&
typename T
Returns
Type
Description
RowRange
static EndingAt(T &&)
Return the range ending at end (included), with no lower limit.
Parameters
Name
Description
end
T &&
typename T
Returns
Type
Description
RowRange
static Empty()
Return an empty range.
Returns
Type
Description
RowRange
static Range(T &&, U &&)
Return the range representing the interval [begin, end).
Parameters
Name
Description
begin
T &&
end
U &&
typename T
typename U
Returns
Type
Description
RowRange
static Prefix(T &&)
Return a range that contains all the keys starting with prefix.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThis page details the \u003ccode\u003eRowRange\u003c/code\u003e class in the Google Cloud Bigtable C++ client library, focusing on version 2.33.0, but also providing a list of previous versions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRowRange\u003c/code\u003e defines interfaces for creating row key ranges, and supports several ways to define intervals, including \u003ccode\u003eRightOpen\u003c/code\u003e, \u003ccode\u003eLeftOpen\u003c/code\u003e, \u003ccode\u003eOpen\u003c/code\u003e, and \u003ccode\u003eClosed\u003c/code\u003e functions, allowing specification of ranges by including or excluding start and end points.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes functions to check if a range is empty (\u003ccode\u003eIsEmpty\u003c/code\u003e), if it contains a specific key (\u003ccode\u003eContains\u003c/code\u003e), and to compute the intersection with another \u003ccode\u003eRowRange\u003c/code\u003e (\u003ccode\u003eIntersect\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRowRange\u003c/code\u003e offers static methods for creating special types of ranges such as \u003ccode\u003eInfiniteRange\u003c/code\u003e, \u003ccode\u003eStartingAt\u003c/code\u003e, \u003ccode\u003eEndingAt\u003c/code\u003e, \u003ccode\u003eEmpty\u003c/code\u003e, \u003ccode\u003eRange\u003c/code\u003e, and \u003ccode\u003ePrefix\u003c/code\u003e, which cover various ways to constrain or include keys.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods for interacting with the underlying protobuf representation of a \u003ccode\u003eRowRange\u003c/code\u003e via \u003ccode\u003eas_proto()\u003c/code\u003e, and for different types of operators like \u003ccode\u003eoperator=\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class RowRange (2.33.0)\n\nVersion 2.33.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/bigtable/latest/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.41.0](/cpp/docs/reference/bigtable/2.41.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.40.0](/cpp/docs/reference/bigtable/2.40.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.39.0](/cpp/docs/reference/bigtable/2.39.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.38.0](/cpp/docs/reference/bigtable/2.38.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.37.0](/cpp/docs/reference/bigtable/2.37.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.36.0](/cpp/docs/reference/bigtable/2.36.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.35.0](/cpp/docs/reference/bigtable/2.35.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.34.0](/cpp/docs/reference/bigtable/2.34.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.33.0](/cpp/docs/reference/bigtable/2.33.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.32.0](/cpp/docs/reference/bigtable/2.32.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.31.0](/cpp/docs/reference/bigtable/2.31.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.30.0](/cpp/docs/reference/bigtable/2.30.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.29.0](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.28.0](/cpp/docs/reference/bigtable/2.28.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.27.0](/cpp/docs/reference/bigtable/2.27.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.26.0](/cpp/docs/reference/bigtable/2.26.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.25.1](/cpp/docs/reference/bigtable/2.25.1/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.24.0](/cpp/docs/reference/bigtable/2.24.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.23.0](/cpp/docs/reference/bigtable/2.23.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.22.1](/cpp/docs/reference/bigtable/2.22.1/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.21.0](/cpp/docs/reference/bigtable/2.21.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.20.0](/cpp/docs/reference/bigtable/2.20.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.19.0](/cpp/docs/reference/bigtable/2.19.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.18.0](/cpp/docs/reference/bigtable/2.18.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.17.0](/cpp/docs/reference/bigtable/2.17.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.16.0](/cpp/docs/reference/bigtable/2.16.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.15.1](/cpp/docs/reference/bigtable/2.15.1/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.14.0](/cpp/docs/reference/bigtable/2.14.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.13.0](/cpp/docs/reference/bigtable/2.13.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.12.0](/cpp/docs/reference/bigtable/2.12.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange)\n- [2.11.0](/cpp/docs/reference/bigtable/2.11.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange) \nDefine the interfaces to create row key ranges. \nExample: \n\n // Create a range for the keys starting with the given prefix.\n auto range = bigtable::RowRange::StartingAt(\"foo/\");\n\nConstructors\n------------\n\n### RowRange(::google::bigtable::v2::RowRange)\n\n### RowRange(RowRange \\&\\&)\n\n### RowRange(RowRange const \\&)\n\nOperators\n---------\n\n### operator=(RowRange \\&\\&)\n\n### operator=(RowRange const \\&)\n\nFunctions\n---------\n\n### static RightOpen(T \\&\\&, U \\&\\&)\n\nReturn a range representing the interval (`begin`, `end`\\]. \nReturn a range representing the interval \\[`begin`, `end`).\n\n### static LeftOpen(T \\&\\&, U \\&\\&)\n\nReturn a range representing the interval (`begin`, `end`\\]. \nReturn a range representing the interval \\[`begin`, `end`).\n\n### static Open(T \\&\\&, U \\&\\&)\n\nReturn a range representing the interval (`begin`, `end`). \nReturn a range representing the interval \\[`begin`, `end`).\n\n### static Closed(T \\&\\&, U \\&\\&)\n\nReturn a range representing the interval \\[`begin`, `end`\\]. \nReturn a range representing the interval \\[`begin`, `end`).\n\n### IsEmpty() const\n\nReturn true if the range is empty. \nNote that some ranges (such as `[\"\", \"\"]`) are not empty but only include invalid row keys.\n\n### Contains(T const \\&) const\n\nReturn true if `key` is in the range.\n\n### Intersect(RowRange const \\&) const\n\nCompute the intersection against another [RowRange](/cpp/docs/reference/bigtable/2.33.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange).\n\n### as_proto() const \\&\n\nReturn the filter expression as a protobuf.\n\n### as_proto() \\&\\&\n\nMove out the underlying protobuf value.\n\n### static InfiniteRange()\n\nReturn the infinite range, i.e., a range including all possible keys.\n\n### static StartingAt(T \\&\\&)\n\nReturn the range starting at `begin` (included), with no upper limit.\n\n### static EndingAt(T \\&\\&)\n\nReturn the range ending at `end` (included), with no lower limit.\n\n### static Empty()\n\nReturn an empty range.\n\n### static Range(T \\&\\&, U \\&\\&)\n\nReturn the range representing the interval \\[`begin`, `end`).\n\n### static Prefix(T \\&\\&)\n\nReturn a range that contains all the keys starting with `prefix`."]]