# ScyllaDB CPP RS Driver > API-compatible rewrite of scylladb/cpp-driver as a wrapper over ScyllaDB Rust driver. 2026, ScyllaDB. All rights reserved. ## Pages - [ScyllaDB CPP RS Driver](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/index.md): This book contains documentation for [cpp-rs-driver](https://github.com/scylladb/cpp-rs-driver) - an... - [API Documentation](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/index.md): Classes manifested in the C API of the ScyllaDB CPP RS Driver. - [Observability](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/observability/index.md): Various techniques and tools to monitor and understand the behavior of the driver and the ScyllaDB c... - [Security](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/security/index.md): The driver currently supports: - [Using the Driver](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/index.md): Basic concepts and features of the driver are described in the following sections. - [Configuration](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/index.md): The following sections describe various configuration options and performance tips for the driver. - [Data Types](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/index.md): - [Architecture Overview](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/architecture-overview.md): The [`CassCluster`](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassCluster) object de... - [Authentication](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/security/authentication.md): Credentials are provided using the [`cass_cluster_set_credentials()`](https://cpp-rs-driver.docs.scy... - [Batches](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/batches.md): Batches can be used to group multiple mutations (`UPDATE`, `INSERT`, `DELETE`) together into a singl... - [Binding Parameters](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/binding-parameters.md): The ‘?’ marker is used to denote the bind variables in a query string. This can be used for both reg... - [Building](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/building.md): The ScyllaDB C/C++ Driver will build on most standard Unix-like platforms. - [Client Configuration](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/client-identity.md): Client configuration allows an application to provide additional metadata to - [Client-side timestamps](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/client-side-timestamps.md): ScyllaDB/Cassandra uses timestamps to serialize write operations. That is, values with a - [Connection](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/connection.md): To prevent intermediate network devices (routers, switches, etc.) from - [Consistency](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/consistency.md): A setting that defines a successful write or read by the number of cluster - [ScyllaDB CPP RS Driver](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/contents.md): Page content - [The `date` and `time` Types](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/date-and-time.md): The driver currently uses raw types to handle `date` and `time` because date - [Execution Profiles](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/execution-profiles.md): Execution profiles provide a mechanism to group together a set of configuration - [Futures](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/futures.md): Futures are returned from any driver call that would result in blocking the client application/threa... - [Getting Started](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/getting-started.md): Packages for the dependencies: libuv (1.x), OpenSSL can be installed - [BasicTypes](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.BasicTypes.md): Page content - [CassConsistency](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.CassConsistency.md): Gets the string for a consistency. - [CassError](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.CassError.md): Gets the string for a write type. - [CassValueType](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.CassValueType.md): Page content - [CustomAllocator](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.CustomAllocator.md): A custom malloc function. This function should allocate “size” bytes and return a pointer to that me... - [Logging](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.Logging.md): A callback that’s used to handle logging. - [Miscellaneous](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/group.Miscellaneous.md): Only supported when using the DSE driver with DataStax Enterprise - [Handling Results](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/handling-results.md): The [`CassResult`](https://cpp-rs-driver.docs.scylladb.com/stable/api/struct.CassResult) object - [Installation](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/installation.md): Pre-built packages are available for: - [Keyspaces](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/keyspaces.md): A session can be initially connected using a supplied keyspace. This is the recommended way to set t... - [Load balancing](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/load-balancing.md): Load balancing controls how queries are distributed to nodes in a ScyllaDB/Cassandra - [Logging](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/observability/logging.md): The driver’s logging system uses `stderr` by default and the log level `CASS_LOG_WARN`. Both of thes... - [Metrics](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/observability/metrics.md): Performance metrics and diagnostic information can be obtained from the C/C++ - [Nonsupported security features](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/security/nonsupported.md): This file is purposely not part of the documentation tree, - [Nonsupported configuration features](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/nonsupported.md): This file is purposely not part of the documentation tree, - [Performance Tips](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/performance-tips.md): Sessions are expensive objects to create in both time and resources because they - [Prepared Statements](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/prepared-statements.md): Prepared statements can be used to improve the performance of frequently executed queries. Preparing... - [Retry policies](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/retry-policies.md): Retry polices allow the driver to automatically handle server-side failures when - [Schema Metadata](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/schema-metadata.md): The driver provides access to keyspace and table metadata. This schema metadata - [Speculative Execution](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/configuration/speculative-execution.md): For certain applications it is of the utmost importance to minimize latency. - [CassAggregateMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassAggregateMeta.md): Gets the name of the aggregate. - [CassAuthenticator](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassAuthenticator.md): An authenticator. - [CassAuthenticatorCallbacks](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassAuthenticatorCallbacks.md): Authenticator callbacks - [CassBatch](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassBatch.md): A group of statements that are executed as a single batch. - [CassCluster](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassCluster.md): A cluster object describes the configuration of the Cassandra cluster and is used to construct a ses... - [CassCollection](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassCollection.md): A collection of values. - [CassColumnMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassColumnMeta.md): Column metadata - [CassCustomPayload](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassCustomPayload.md): Creates a new custom payload. - [CassDataType](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassDataType.md): A data type used to describe a value, collection or user defined type. - [CassErrorResult](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassErrorResult.md): A error result of a request - [CassExecProfile](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassExecProfile.md): An execution profile object provides a mechanism to group together a set of configuration options an... - [CassFunctionMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassFunctionMeta.md): Gets the name of the function. - [CassFuture](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassFuture.md): The future result of an operation. - [CassIndexMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassIndexMeta.md): Index metadata - [CassInet](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassInet.md): IP address for either IPv4 or IPv6. - [CassIterator](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassIterator.md): An object used to iterate over a group of rows, columns or collection values. - [CassKeyspaceMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassKeyspaceMeta.md): Keyspace metadata - [CassMaterializedViewMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassMaterializedViewMeta.md): MaterializedView metadata - [CassMetrics](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassMetrics.md): A snapshot of the session’s performance/diagnostic metrics. - [CassNode](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassNode.md): An object that represents a cluster node. - [CassPrepared](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassPrepared.md): A statement that has been prepared cluster-side (It has been pre-parsed and cached). - [CassResult](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassResult.md): The result of a query. - [CassRetryPolicy](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassRetryPolicy.md): Creates a new default retry policy. - [CassRow](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassRow.md): A collection of column values. - [CassSchemaMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassSchemaMeta.md): A snapshot of the schema’s metadata. - [CassSession](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassSession.md): A session object is used to execute queries and maintains cluster state through the control connecti... - [CassSpeculativeExecutionMetrics](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassSpeculativeExecutionMetrics.md): Minimum in microseconds - [CassSsl](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassSsl.md): Describes the SSL configuration of a cluster. - [CassStatement](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassStatement.md): A statement object is an executable query. It represents either a regular (adhoc) statement or a pre... - [CassTableMeta](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassTableMeta.md): Table metadata - [CassTimestampGen](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassTimestampGen.md): Policies that defined the behavior of a request when a server-side read/write timeout or unavailable... - [CassTuple](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassTuple.md): A tuple of values. - [CassUserType](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassUserType.md): A user defined type. - [CassUuid](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassUuid.md): Version 1 (time-based) or version 4 (random) UUID. - [CassUuidGen](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassUuidGen.md): A UUID generator object. - [CassValue](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassValue.md): A single primitive value or a collection of values. - [CassVersion](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/api/struct.CassVersion.md): Describes the version of the connected Cassandra cluster. - [Testing](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/testing.md): Before proceeding ensure the tests were built using the [build procedures](https://cpp-rs-driver.doc... - [TLS](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/security/tls.md): This is a guide to setting up TLS using the C/C++ driver. This guide will use self-signed certificat... - [Tracing](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/observability/tracing.md): Tracing can be used to troubleshoot query performance problems and can be - [Tuples](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/tuples.md): Tuples are fixed-length sets of values. They are similar to UDTs in that they - [User-Defined Types (UDTs)](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/user-defined-types.md): User-defined types (UDT) can be used to create arbitrary user types with fields - [UUIDs](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/topics/using/data-types/uuids.md): UUIDs are 128-bit identifiers that can be used to uniquely identify information --- For more comprehensive documentation, see [llms-full.txt](https://cpp-rs-driver.docs.scylladb.com/v1.0.1/llms-full.txt)