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, focusing on version 2.31.0, but also referencing versions up to the latest release candidate, 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRowSet\u003c/code\u003e is used to represent a collection of row keys and ranges, which can be non-continuous, for use with Bigtable operations that scan or read rows.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers various constructors for \u003ccode\u003eRowSet\u003c/code\u003e, including default, copy, and move constructors, along with the relevant parameters.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRowSet\u003c/code\u003e class also provides methods to \u003ccode\u003eAppend\u003c/code\u003e row keys or \u003ccode\u003eRowRange\u003c/code\u003e objects to the set, to modify it through the \u003ccode\u003eIntersect\u003c/code\u003e function, and to check if the row set \u003ccode\u003eIsEmpty\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class also provides conversion functions to and from protobuf format.\u003c/p\u003e\n"]]],[],null,["# Class RowSet (2.31.0)\n\nVersion 2.31.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.31.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.31.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() \\&\\&"]]