# CassIterator

### struct CassIterator

An object used to iterate over a group of rows, columns or collection values. 

### Public Types

### enum CassIteratorType

*Values:*

### Public Functions

### void cass_iterator_free([CassIterator](#_CPPv412CassIterator) \*iterator)

Frees an iterator instance.

* **Parameters:**
  **iterator** – **[in]** 

### [CassIteratorType](#_CPPv4N12CassIterator16CassIteratorTypeE) cass_iterator_type([CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the type of the specified iterator.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  The type of the iterator. 

### [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) cass_iterator_next([CassIterator](#_CPPv412CassIterator) \*iterator)

Advance the iterator to the next row, column or collection item.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  false if no more rows, columns or items, otherwise true 

### const [CassRow](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassRow.md#_CPPv47CassRow) \*cass_iterator_get_row(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the row at the result iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous row returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A row 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_column(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the column value at the row iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous column returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A value 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_value(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the value at a collection or tuple iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A value 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_map_key(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the key at the map iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A value 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_map_value(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the value at the map iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A value 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_iterator_get_user_type_field_name(const [CassIterator](#_CPPv412CassIterator) \*iterator, const char \*\*name, size_t \*name_length)

Gets the field name at the user type defined iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous name returned by this method.

* **Parameters:**
  * **iterator** – **[in]** 
  * **name** – **[out]** 
  * **name_length** – **[out]** 
* **Returns:**
  CASS_OK if successful, otherwise error occurred 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_user_type_field_value(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the field value at the user type defined iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A value 

### const [CassKeyspaceMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassKeyspaceMeta.md#_CPPv416CassKeyspaceMeta) \*cass_iterator_get_keyspace_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the keyspace metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A keyspace metadata entry 

### const [CassTableMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassTableMeta.md#_CPPv413CassTableMeta) \*cass_iterator_get_table_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the table metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A table metadata entry 

### const [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassMaterializedViewMeta.md#_CPPv424CassMaterializedViewMeta) \*cass_iterator_get_materialized_view_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the materialized view metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A materialized view metadata entry 

### const [CassDataType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassDataType.md#_CPPv412CassDataType) \*cass_iterator_get_user_type(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the type metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A type metadata entry 

### const [CassFunctionMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassFunctionMeta.md#_CPPv416CassFunctionMeta) \*cass_iterator_get_function_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the function metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A function metadata entry 

### const [CassAggregateMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassAggregateMeta.md#_CPPv417CassAggregateMeta) \*cass_iterator_get_aggregate_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the aggregate metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A aggregate metadata entry 

### const [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassColumnMeta.md#_CPPv414CassColumnMeta) \*cass_iterator_get_column_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the column metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A column metadata entry 

### const [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassIndexMeta.md#_CPPv413CassIndexMeta) \*cass_iterator_get_index_meta(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the index metadata entry at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A index metadata entry 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_iterator_get_meta_field_name(const [CassIterator](#_CPPv412CassIterator) \*iterator, const char \*\*name, size_t \*name_length)

Gets the metadata field name at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

**Warning:** This function is not yet implemented.

* **Parameters:**
  * **iterator** – **[in]** 
  * **name** – **[out]** 
  * **name_length** – **[out]** 
* **Returns:**
  CASS_OK if successful, otherwise error occurred 

### const [CassValue](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassValue.md#_CPPv49CassValue) \*cass_iterator_get_meta_field_value(const [CassIterator](#_CPPv412CassIterator) \*iterator)

Gets the metadata field value at the iterator’s current position.

Calling [cass_iterator_next()](#struct_cass_iterator_1a90ff0ded847bfc8c5612bdce333f9a4a) will invalidate the previous value returned by this method.

**Warning:** This function is not yet implemented.

* **Parameters:**
  **iterator** – **[in]** 
* **Returns:**
  A metadata field value
