# SPDX-FileCopyrightText: 2026 maplike contributors
#
# SPDX-License-Identifier: MIT OR Apache-2.0

[package]
name = "maplike"
version = "0.11.0"
authors = ["Mikolaj Wielgus <wielgusmikolaj@gmail.com>"]
description = "Derive macros for maplike."
repository = "https://github.com/mikwielgus/maplike"
documentation = "https://docs.rs/maplike"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["undo", "redo", "rtree", "no_std"]
categories = ["data-structures", "gui", "no-std", "rust-patterns"]
edition = "2024"

[badges]
maintenance = { status = "actively-developed" }

[features]
default = ["std"]

## Enables the `Container` and `Assign` derive macros.
derive = ["dep:maplike_derive"]

## Disable for `no_std` compatibility. Implies `alloc`.
std = ["alloc"]

## Enables convenience implementations for `alloc` collections (`BTreeMap`,
## `BTreeSet`, `Vec`).
alloc = []

## Enables convenience implementations for `bidimap::BiBTreeMap` and, together
## with the `std` feature, `bidimap::BiHashMap`.
bidimap = ["dep:bidimap"]

## Enables convenience implementations for `rstar::RTree`.
rstar = ["dep:rstar"]

## Enables convenience implementations for `stable_vec::StableVec`.
stable-vec = ["dep:stable-vec"]

## Enables convenience implementations for `thunderdome::Arena`.
thunderdome = ["dep:thunderdome"]

[dependencies]
maplike_derive = { version = "0.9", optional = true, path = "maplike_derive" }
bidimap = { version = "0.7", optional = true }
document-features = { version = "0.2", optional = true }
rstar = { version = "0.12", optional = true }
stable-vec = { version = "0.4", optional = true }
thunderdome = { version = "0.6", optional = true }

    [dev-dependencies]
    stable-vec = "0.4"
    thunderdome = "0.6"
    rstar = "0.12"

[package.metadata.docs.rs]
cargo-args = ["--all-features", "-Zunstable-options", "-Zrustdoc-scrape-examples"]
rustdoc-args = ["--cfg", "docsrs"]
    
