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\u003eThe webpage details the \u003ccode\u003eRowSet\u003c/code\u003e class in the Google Cloud Bigtable C++ client library, used for representing sets of row keys in a Bigtable.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRowSet\u003c/code\u003e can represent a collection of both specific row keys and ranges of rows, allowing for non-continuous row selection in Bigtable operations.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides multiple constructors, including an empty set constructor, move and copy constructors, and a constructor that takes arguments \u003ccode\u003eArg &&...\u003c/code\u003e to add row keys and ranges.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRowSet\u003c/code\u003e class offers functions to \u003ccode\u003eAppend\u003c/code\u003e new row keys or ranges, and \u003ccode\u003eIntersect\u003c/code\u003e with a \u003ccode\u003eRowRange\u003c/code\u003e to modify the \u003ccode\u003eRowSet\u003c/code\u003e to contain only keys and ranges that are part of the \u003ccode\u003eRowRange\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe page references many versions, with the most current version being \u003ccode\u003e2.37.0-rc\u003c/code\u003e and an array of previous versions are present.\u003c/p\u003e\n"]]],[],null,["# Class RowSet (2.15.1)\n\nVersion 2.15.1keyboard_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.15.1/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.15.1/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() \\&\\&"]]