Represent a (possibly non-continuous) set of row keys.
Cloud Bigtable can scan non-continuous sets of rows, these sets can include a mix of specific row keys and ranges as defined by bigtable::RowRange.
Constructors
RowSet()
Create an empty set.
RowSet(RowSet &&)
Parameter
Name
Description
RowSet &&
RowSet(RowSet const &)
Parameter
Name
Description
RowSet const &
RowSet(Arg &&...)
Parameters
Name
Description
a
Arg &&...
typename...
Operators
operator=(RowSet &&)
Parameter
Name
Description
RowSet &&
Returns
Type
Description
RowSet &
operator=(RowSet const &)
Parameter
Name
Description
RowSet const &
Returns
Type
Description
RowSet &
Functions
Append(RowRange)
Add range to the set.
Parameter
Name
Description
range
RowRange
Returns
Type
Description
void
Append(T &&)
Add row_key to the set, minimize copies when possible.
Parameters
Name
Description
row_key
T &&
typename T
Returns
Type
Description
void
Intersect(bigtable::RowRange const &) const
Modify this object to contain the ranges and keys inside range.
This function removes any rowkeys outside range, it removes any row ranges that do not intersect with range, and keeps only the intersection for those ranges that do intersect range.
Parameter
Name
Description
range
bigtable::RowRange const &
Returns
Type
Description
RowSet
IsEmpty() const
Returns true if the set is empty.
A row set is empty iff passing it to a ReadRows call would never cause it to return rows. This is true if the set consists of only empty ranges.
Note that a default constructed RowSet is not empty, since it matches all rows in the table.
[[["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 documentation outlines the \u003ccode\u003eRowSet\u003c/code\u003e class in the Google Cloud Bigtable C++ library, which allows for the representation of a set of row keys, potentially non-continuous, for efficient data retrieval.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRowSet\u003c/code\u003e class supports the inclusion of specific row keys and ranges defined by \u003ccode\u003ebigtable::RowRange\u003c/code\u003e, allowing for flexible data selection when scanning rows.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRowSet\u003c/code\u003e class includes constructors for creating empty sets, as well as move and copy constructors.\u003c/p\u003e\n"],["\u003cp\u003eMethods like \u003ccode\u003eAppend\u003c/code\u003e are provided to add row ranges or specific row keys to the set, and the \u003ccode\u003eIntersect\u003c/code\u003e function allows modification of the current \u003ccode\u003eRowSet\u003c/code\u003e to contain only the keys and ranges that overlap a specified \u003ccode\u003eRowRange\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIsEmpty\u003c/code\u003e function can be utilized to check whether the set is empty, which is defined as not resulting in any rows returned when used in a \u003ccode\u003eReadRows\u003c/code\u003e operation.\u003c/p\u003e\n"]]],[],null,["# Class RowSet (2.29.0)\n\nVersion 2.29.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/bigtable/latest/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.41.0](/cpp/docs/reference/bigtable/2.41.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.40.0](/cpp/docs/reference/bigtable/2.40.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.39.0](/cpp/docs/reference/bigtable/2.39.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.38.0](/cpp/docs/reference/bigtable/2.38.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.37.0](/cpp/docs/reference/bigtable/2.37.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.36.0](/cpp/docs/reference/bigtable/2.36.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.35.0](/cpp/docs/reference/bigtable/2.35.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.34.0](/cpp/docs/reference/bigtable/2.34.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.33.0](/cpp/docs/reference/bigtable/2.33.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.32.0](/cpp/docs/reference/bigtable/2.32.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.31.0](/cpp/docs/reference/bigtable/2.31.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.30.0](/cpp/docs/reference/bigtable/2.30.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.29.0](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.28.0](/cpp/docs/reference/bigtable/2.28.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.27.0](/cpp/docs/reference/bigtable/2.27.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.26.0](/cpp/docs/reference/bigtable/2.26.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.25.1](/cpp/docs/reference/bigtable/2.25.1/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.24.0](/cpp/docs/reference/bigtable/2.24.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.23.0](/cpp/docs/reference/bigtable/2.23.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.22.1](/cpp/docs/reference/bigtable/2.22.1/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.21.0](/cpp/docs/reference/bigtable/2.21.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.20.0](/cpp/docs/reference/bigtable/2.20.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.19.0](/cpp/docs/reference/bigtable/2.19.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.18.0](/cpp/docs/reference/bigtable/2.18.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.17.0](/cpp/docs/reference/bigtable/2.17.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.16.0](/cpp/docs/reference/bigtable/2.16.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.15.1](/cpp/docs/reference/bigtable/2.15.1/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.14.0](/cpp/docs/reference/bigtable/2.14.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.13.0](/cpp/docs/reference/bigtable/2.13.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.12.0](/cpp/docs/reference/bigtable/2.12.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet)\n- [2.11.0](/cpp/docs/reference/bigtable/2.11.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet) \nRepresent a (possibly non-continuous) set of row keys. \nCloud Bigtable can scan non-continuous sets of rows, these sets can include a mix of specific row keys and ranges as defined by [`bigtable::RowRange`](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1RowRange).\n\nConstructors\n------------\n\n### RowSet()\n\nCreate an empty set.\n\n### RowSet(RowSet \\&\\&)\n\n### RowSet(RowSet const \\&)\n\n### RowSet(Arg \\&\\&...)\n\nOperators\n---------\n\n### operator=(RowSet \\&\\&)\n\n### operator=(RowSet const \\&)\n\nFunctions\n---------\n\n### Append(RowRange)\n\nAdd `range` to the set.\n\n### Append(T \\&\\&)\n\nAdd `row_key` to the set, minimize copies when possible.\n\n### Intersect(bigtable::RowRange const \\&) const\n\nModify this object to contain the ranges and keys inside `range`. \nThis function removes any rowkeys outside `range`, it removes any row ranges that do not intersect with `range`, and keeps only the intersection for those ranges that do intersect `range`.\n\n### IsEmpty() const\n\nReturns true if the set is empty. \nA row set is empty iff passing it to a ReadRows call would never cause it to return rows. This is true if the set consists of only empty ranges.\n\nNote that a default constructed [RowSet](/cpp/docs/reference/bigtable/2.29.0/classgoogle_1_1cloud_1_1bigtable_1_1RowSet) is not empty, since it matches all rows in the table.\n\n### as_proto() const \\&\n\n### as_proto() \\&\\&"]]