|  | 
| int | NumRows () const | 
|  | 
| KuduScanBatch::RowPtr | Row (int idx) const | 
|  | 
| const_iterator | begin () const | 
|  | 
| const_iterator | end () const | 
|  | 
| const KuduSchema * | projection_schema () const | 
|  | 
|  | RowPtr () | 
|  | 
| const RowPtr * | operator-> () const | 
|  | 
| bool | IsNull (const Slice &col_name) const | 
|  | 
| bool | IsNull (int col_idx) const | 
|  | 
| Status | IsDeleted (bool *val) const WARN_UNUSED_RESULT KUDU_NO_EXPORT | 
|  | 
| const void * | cell (int col_idx) const | 
|  | 
| std::string | ToString () const | 
|  | 
| KuduScanBatch::RowPtr | operator* () const | 
|  | 
| KuduScanBatch::RowPtr | operator-> () const | 
|  | 
| const_iterator & | operator++ () | 
|  | 
| const_iterator | operator++ (int) | 
|  | 
| bool | operator== (const const_iterator &other) const | 
|  | 
| bool | operator!= (const const_iterator &other) const | 
|  | 
|  | 
| There are no guarantees on the stability of the format returned by these methods, which might change at any given time. NoteThe Slices returned by both direct_data() and indirect_data() are only valid for the lifetime of the KuduScanBatch. 
 | 
| Slice | direct_data () const | 
|  | 
| Slice | indirect_data () const | 
|  | 
|  | 
| Parameters
  
    | [in] | col_name | The name of the target column. |  | [out] | val | Placeholder for the result value. | 
 ReturnsOperation result status. Return a bad Status if at least one of the following is true:
The type does not match. The value is unset. The value is NULL.
 | 
| Status | GetBool (const Slice &col_name, bool *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt8 (const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt16 (const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt32 (const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt64 (const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetUnixTimeMicros (const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetDate (const Slice &col_name, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetFloat (const Slice &col_name, float *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetDouble (const Slice &col_name, double *val) const WARN_UNUSED_RESULT | 
|  | 
|  | 
| These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code. Parameters
  
    | [in] | col_index | The index of the column. |  | [out] | val | Pointer to the placeholder to put the resulting value. | 
 ReturnsOperation result status. Return a bad Status if at least one of the following is true:
The type does not match. The value is unset. The value is NULL.
 | 
| Status | GetBool (int col_idx, bool *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt8 (int col_idx, int8_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt16 (int col_idx, int16_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt32 (int col_idx, int32_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetInt64 (int col_idx, int64_t *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetUnixTimeMicros (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetDate (int col_idx, int32_t *days_since_unix_epoch) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetFloat (int col_idx, float *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetDouble (int col_idx, double *val) const WARN_UNUSED_RESULT | 
|  | 
|  | 
| Get the string/binary/varchar value for a column by its name. Parameters
  
    | [in] | col_name | Name of the column. |  | [out] | val | Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. | 
 ReturnsOperation result status. Return a bad Status if at least one of the following is true:
The type does not match. The value is unset. The value is NULL.
 | 
| Status | GetString (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetBinary (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetVarchar (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
|  | 
| Get the string/binary/varchar value for a column by its index. These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code. Parameters
  
    | [in] | col_index | The index of the column. |  | [out] | val | Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. | 
 ReturnsOperation result status. Return a bad Status if at least one of the following is true:
The type does not match. The value is unset. The value is NULL.
 | 
| Status | GetString (int col_idx, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetBinary (int col_idx, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
| Status | GetVarchar (int col_idx, Slice *val) const WARN_UNUSED_RESULT | 
|  | 
A batch of zero or more rows returned by a scan operation. 
Every call to KuduScanner::NextBatch() returns a batch of zero or more rows. You can iterate over the rows in the batch using:
range-foreach loop (C++11): 
  ... row.GetInt(1, ...)
  ...
}
regular for loop (C++03): 
for (KuduScanBatch::const_iterator it = batch.begin(), it != batch.end();
     ++it) {
  ...
}
 or 
for (int i = 0, num_rows = batch.NumRows();
     i < num_rows;
     i++) {
  ...
}
- Note
- In the above example, NumRows() is only called once at the beginning of the loop to avoid extra calls to the non-inlined method.