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 document outlines the \u003ccode\u003eRowSet\u003c/code\u003e class within the Google Cloud Bigtable C++ library, designed to manage sets of row keys and ranges.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRowSet\u003c/code\u003e class supports various constructors for creating sets, including an empty set, copying, and moving other \u003ccode\u003eRowSet\u003c/code\u003e instances.\u003c/p\u003e\n"],["\u003cp\u003eYou can use \u003ccode\u003eAppend()\u003c/code\u003e to add individual row keys or row ranges, or use \u003ccode\u003eIntersect()\u003c/code\u003e to modify the \u003ccode\u003eRowSet\u003c/code\u003e to only contain ranges and keys within a specified \u003ccode\u003eRowRange\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eIsEmpty()\u003c/code\u003e function determines if a \u003ccode\u003eRowSet\u003c/code\u003e is empty, meaning it would not return any rows in a \u003ccode\u003eReadRows\u003c/code\u003e call, but a default constructed \u003ccode\u003eRowSet\u003c/code\u003e is not empty as it matches all rows.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eas_proto()\u003c/code\u003e functions are available for returning the row set in the format of \u003ccode\u003egoogle::bigtable::v2::RowSet\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class RowSet (2.23.0)\n\nVersion 2.23.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.23.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.23.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() \\&\\&"]]