# Bitmap

BitMaps pack 256 booleans across each bit of a single 256-bit slot of `uint256` type. Hence booleans corresponding to 256 *sequential* indices would only consume a single slot, unlike the regular `bool` which would consume an entire slot for a single value.

## Structs

### <mark style="color:blue;">**Bitmap**</mark>

```rust
struct Bitmap has key, store {
    id: UID
}
```

The module adds dynamic fields to the Bitmap.&#x20;

## Interface

### <mark style="color:blue;">new</mark>

**Creates a Bitmap.**

```rust
public fun new(ctx: &mut TxContext): Bitmap
```

* **@return AcCollection.** Bitmap.

### <mark style="color:blue;">get</mark>

**Checks if an `index`is set to true or false in the map.**

```rust
public fun get(self: &Bitmap, index: u256): bool
```

* **@param self:** A reference to the Bitmap.
* **@param index:** The slot to check if it is flagged.
* **@return bool.** If the `index` is true or false.

### <mark style="color:blue;">set</mark>

**Sets the slot `index` to true in `self`.**

```rust
public fun set(self: &mut Bitmap, index: u256)
```

* **@param self:** A reference to the Bitmap.
* **@param index**: The slot we will set to true.

### <mark style="color:blue;">unset</mark>

**Sets the slot `index` to false in `self`.**

```rust
public fun set(self: &mut Bitmap, index: u256)
```

* **@param self:** A reference to the Bitmap.
* **@param index**: The slot we will set to false.

### <mark style="color:blue;">destroy</mark>

**Destroys the `self`.**

```rust
public fun destroy(self: Bitmap)
```

* **@param self:** self A bitmap to destroy.
