1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # bool-to-bitflags
//!
//! A struct attribute macro to pack structs with multiple boolean fields into efficent byte packing.
//!
//! This macro will make struct fields of type `bool` and `Option<bool>` be packed into a field called `__generated_flags`.
//!
//! This field is responsible for storing the packed bits, and should not be messed with manually, other than to initialize
//! as all-false with `{StructName}GeneratedFlags::empty()` or all-true with `{StructName}GeneratedFlags::all()`.
//!
//! ## Arguments
//! | Argument Name | Type | Default Value | Description |
//! |--------------------|----------|--------------------|------------------------------------------------------------------------------|
//! | `getter_prefix` | `String` | | The prefix before getter names |
//! | `setter_prefix` | `String` | `set_` | The prefix before setter names |
//! | `private_getters` | `bool` | Field Visibility | If true, getters are forced to be crate-private |
//! | `private_setters` | `bool` | Field Visibility | If true, setters are forced to be crate-private |
//! | `document_setters` | `bool` | `false` | If true, field documentation is used for setters, instead of getters |
//! | `owning_setters` | `bool` | `false` | If true, setters take `self` and return `self` instead of taking `&mut self` |
//!
//! ## MSRV
//! The Minimum Supported Rust Version of this crate is 1.65.
//!
//! It is considered a breaking change to raise this requirement.
/// See [crate level](crate) documentation.