# CassTuple

### struct CassTuple

A tuple of values. 

### Public Functions

### [CassTuple](#_CPPv49CassTuple) \*cass_tuple_new(size_t item_count)

Creates a new tuple.

#### SEE ALSO
[cass_tuple_free()](#struct_cass_tuple_1a747895935b9f7c18a2b900f6bac4e967)

* **Parameters:**
  **item_count** – **[in]** The number of items in the tuple. 
* **Returns:**
  Returns a tuple that must be freed.

### [CassTuple](#_CPPv49CassTuple) \*cass_tuple_new_from_data_type(const [CassDataType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassDataType.md#_CPPv412CassDataType) \*data_type)

Creates a new tuple from an existing data type.

#### SEE ALSO
[cass_tuple_free()](#struct_cass_tuple_1a747895935b9f7c18a2b900f6bac4e967); 

* **Parameters:**
  **data_type** – **[in]** 
* **Returns:**
  Returns a tuple that must be freed.

### void cass_tuple_free([CassTuple](#_CPPv49CassTuple) \*tuple)

Frees a tuple instance.

* **Parameters:**
  **tuple** – **[in]** 

### const [CassDataType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassDataType.md#_CPPv412CassDataType) \*cass_tuple_data_type(const [CassTuple](#_CPPv49CassTuple) \*tuple)

Gets the data type of a tuple.

* **Parameters:**
  **tuple** – **[in]** 
* **Returns:**
  Returns a reference to the data type of the tuple. Do not free this reference as it is bound to the lifetime of the tuple. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_null([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index)

Sets an null in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_int8([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_int8_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_int8_t) value)

Sets a “tinyint” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_int16([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_int16_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int16_t) value)

Sets an “smallint” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_int32([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) value)

Sets an “int” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_uint32([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_uint32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_uint32_t) value)

Sets a “date” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_int64([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) value)

Sets a “bigint”, “counter”, “timestamp” or “time” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_float([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_float_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_float_t) value)

Sets a “float” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_double([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_double_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv413cass_double_t) value)

Sets a “double” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_bool([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_bool_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_bool_t) value)

Sets a “boolean” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_string([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const char \*value)

Sets an “ascii”, “text” or “varchar” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** The value is copied into the tuple object; the memory pointed to by this parameter can be freed after this call. 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_string_n([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const char \*value, size_t value_length)

Same as [cass_tuple_set_string()](#struct_cass_tuple_1a02ab8c38764a3dfe272a180a3ba20a78), but with lengths for string parameters.

#### SEE ALSO
[cass_tuple_set_string()](#struct_cass_tuple_1a02ab8c38764a3dfe272a180a3ba20a78); 

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
  * **value_length** – **[in]** 
* **Returns:**
  same as [cass_tuple_set_string()](#struct_cass_tuple_1a02ab8c38764a3dfe272a180a3ba20a78)

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_bytes([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Sets a “blob”, “varint” or “custom” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** The value is copied into the tuple object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_uuid([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [CassUuid](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUuid.md#_CPPv48CassUuid) value)

Sets a “uuid” or “timeuuid” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_inet([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [CassInet](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassInet.md#_CPPv48CassInet) value)

Sets an “inet” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_decimal([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*varint, size_t varint_size, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) scale)

Sets a “decimal” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **varint** – **[in]** The value is copied into the tuple object; the memory pointed to by this parameter can be freed after this call. 
  * **varint_size** – **[in]** 
  * **scale** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_duration([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) months, [cass_int32_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int32_t) days, [cass_int64_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv412cass_int64_t) nanos)

Sets a “duration” in a tuple at the specified index.

**Requires Apache Cassandra:** 3.10+

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **months** – **[in]** 
  * **days** – **[in]** 
  * **nanos** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_collection([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const [CassCollection](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCollection.md#_CPPv414CassCollection) \*value)

Sets a “list”, “map” or “set” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_tuple([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const [CassTuple](#_CPPv49CassTuple) \*value)

Sets a “tuple” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_user_type([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const [CassUserType](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassUserType.md#_CPPv412CassUserType) \*value)

Sets a “udt” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **value** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_custom([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const char \*class_name, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Sets a “custom” in a tuple at the specified index.

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **class_name** – **[in]** 
  * **value** – **[in]** The value is copied into the tuple object; the memory pointed to by this parameter can be freed after this call. 
  * **value_size** – **[in]** 
* **Returns:**
  CASS_OK if successful, otherwise an error occurred. 

### [CassError](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.CassError.md#_CPPv49CassError) cass_tuple_set_custom_n([CassTuple](#_CPPv49CassTuple) \*tuple, size_t index, const char \*class_name, size_t class_name_length, const [cass_byte_t](https://cpp-rs-driver.docs.scylladb.com/stable/api/group.BasicTypes.md#_CPPv411cass_byte_t) \*value, size_t value_size)

Same as [cass_tuple_set_custom()](#struct_cass_tuple_1a491ca03c7ec3e6e318e7e4f2229cdc8f), but with lengths for string parameters.

#### SEE ALSO
[cass_tuple_set_custom()](#struct_cass_tuple_1a491ca03c7ec3e6e318e7e4f2229cdc8f)

* **Parameters:**
  * **tuple** – **[in]** 
  * **index** – **[in]** 
  * **class_name** – **[in]** 
  * **class_name_length** – **[in]** 
  * **value** – **[in]** 
  * **value_size** – **[in]** 
* **Returns:**
  same as [cass_tuple_set_custom()](#struct_cass_tuple_1a491ca03c7ec3e6e318e7e4f2229cdc8f)
