# SnapshotStateMapSerializer

Artifact: [androidx.savedstate:savedstate-compose](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer.kt+class:androidx.savedstate.compose.serialization.serializers.SnapshotStateMapSerializer) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0) Common/All
- Cmn

  ```
  class SnapshotStateMapSerializer<K : Any?, V : Any?> : KSerializer<SnapshotStateMap<K, V>>
  ```

*** ** * ** ***

A `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` for `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap`.

This serializer wraps `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` instances for the key type `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer` and value type `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer`, enabling serialization and deserialization of `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap` instances. The serialization of individual keys and values is delegated to the provided `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#(kotlinx.serialization.KSerializer,kotlinx.serialization.KSerializer)` and `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#(kotlinx.serialization.KSerializer,kotlinx.serialization.KSerializer)`.

| Parameters |
|---|---|
| `<K : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | The type of keys stored in the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap`. |
| `<V : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | The type of values stored in the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap`. |

## Summary

| ### Public constructors |
|---|---|
| `<K : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?, V : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#SnapshotStateMapSerializer(kotlinx.serialization.KSerializer,kotlinx.serialization.KSerializer)( keySerializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<K>, valueSerializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<V> )` | Cmn |

| ### Public functions |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap<K, V>` | `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#deserialize(kotlinx.serialization.encoding.Decoder)(decoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-decoder/index.html)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#serialize(kotlinx.serialization.encoding.Encoder,androidx.compose.runtime.snapshots.SnapshotStateMap)(encoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/index.html, value: https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap<K, V>)` | Cmn |

| ### Public properties |
|---|---|---|
| `open https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.descriptors/-serial-descriptor/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/serialization/serializers/SnapshotStateMapSerializer#descriptor()` | Cmn |

## Public constructors

### SnapshotStateMapSerializer

Cmn

```
<K : Any?, V : Any?> SnapshotStateMapSerializer(
    keySerializer: KSerializer<K>,
    valueSerializer: KSerializer<V>
)
```

| Parameters |
|---|---|
| `<K : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | The type of keys stored in the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap`. |
| `<V : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | The type of values stored in the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateMap`. |
| `keySerializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<K>` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` used to serialize and deserialize individual keys. |
| `valueSerializer: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html<V>` | The `https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization/-k-serializer/index.html` used to serialize and deserialize individual values. |

## Public functions

### deserialize

Cmn Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
open fun deserialize(decoder: Decoder): SnapshotStateMap<K, V>
```

### serialize

Cmn Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
open fun serialize(encoder: Encoder, value: SnapshotStateMap<K, V>): Unit
```

## Public properties

### descriptor

Cmn Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
open val descriptor: SerialDescriptor
```