# Using the Driver

Basic concepts and features of the driver are described in the following sections.

* [Batches](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/batches.md) - Grouping multiple statements into a single request for atomicity, and sometimes better performance.
* [Binding Parameters](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/binding-parameters.md) - How to bind values to parameters in statements.
* [Client-side Timestamps](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/client-side-timestamps.md) - Using timestamps generated by the client to ensure consistent write order on server.
* [Consistency Levels](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/consistency.md) - Configuring the consistency level for read and write operations.
* [Data Types](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/index.md) - Supported data types (CQL-side and C/C++-side) and how to use them.
* [Futures](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/futures.md) - Asynchronous programming model using futures to handle results.
* [Handling Results](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/handling-results.md) - How to process results returned by the server.
* [Keyspaces](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/keyspaces.md) - Working with keyspaces, the top-level namespace for data.
* [Prepared Statements](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/prepared-statements.md) - Preparing statements for further execution to improve performance and safety.
* [Schema Metadata](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/schema-metadata.md) - Accessing and viewing cluster schema metadata.
