memmap3-macros 0.1.0

Procedural macros for memmap3
Documentation
# memmap3-macros

[![Crates.io](https://img.shields.io/crates/v/memmap3-macros.svg)](https://crates.io/crates/memmap3-macros)
[![docs.rs](https://docs.rs/memmap3-macros/badge.svg)](https://docs.rs/memmap3-macros)

Procedural macros for the [memmap3](https://crates.io/crates/memmap3) crate.

## ⚠️ Note for Users

**You should not install this crate directly.** This crate contains the procedural macros used by
`memmap3` and is automatically included when you add `memmap3` to your dependencies.

## Installation

Add `memmap3` to your `Cargo.toml` (not this crate):

```toml
[dependencies]
memmap3 = "0.1"
```

## What This Crate Provides

This crate implements the `#[mmap_struct]` attribute macro that transforms regular Rust structs into
memory-mappable types:

```rust
use memmap3::prelude::*;

#[mmap_struct]  // <- This macro is provided by memmap3-macros
struct Config {
    #[mmap(atomic)]
    counter: u64,
    name: [u8; 32],
}
```

The macro automatically:

- Adds `#[repr(C)]` for predictable memory layout
- Transforms atomic fields (e.g., `u64` with `#[mmap(atomic)]` becomes `MmapAtomicU64`)
- Auto-detects byte arrays as strings (unless marked with `#[mmap(raw)]`)
- Generates the `StructLayout` trait implementation

## Documentation

For complete documentation and examples, see the main [memmap3 crate](https://docs.rs/memmap3).

## License

This project is licensed under the MIT OR Apache-2.0 license.