example_generated.rs |
This module shows an example of code generated by the macro. **IT MUST NOT BE USED OUTSIDE THIS
CRATE**.
Usually, when you call the `bitflags!` macro, only the `Flags` type would be visible. In this
example, the `Field0`, `Iter`, and `IterRaw` types are also exposed so that you can explore
their APIs. The `Field0` type can be accessed as `self.0` on an instance of `Flags`. |
1843 |
external |
|
|
external.rs |
Conditional trait implementations for external libraries. |
7362 |
internal.rs |
Generate the internal `bitflags`-facing flags type.
The code generated here is owned by `bitflags`, but still part of its public API.
Changes to the types generated here need to be considered like any other public API change. |
4779 |
iter.rs |
!
Yield the bits of a source flags value in a set of contained flags values.
|
4183 |
lib.rs |
|
27206 |
parser.rs |
!
Parsing flags from text.
Format and parse a flags value as text using the following grammar:
- _Flags:_ (_Whitespace_ _Flag_ _Whitespace_)`|`*
- _Flag:_ _Name_ | _Hex Number_
- _Name:_ The name of any defined flag
- _Hex Number_: `0x`([0-9a-fA-F])*
- _Whitespace_: (\s)*
As an example, this is how `Flags::A | Flags::B | 0x0c` can be represented as text:
```text
A | B | 0x0c
```
Alternatively, it could be represented without whitespace:
```text
A|B|0x0C
```
Note that identifiers are *case-sensitive*, so the following is *not equivalent*:
```text
a|b|0x0C
```
|
8340 |
public.rs |
Generate the user-facing flags type.
The code here belongs to the end-user, so new trait implementations and methods can't be
added without potentially breaking users. |
19581 |
tests |
|
|
tests.rs |
|
2681 |
traits.rs |
A defined flags value that may be named or unnamed.
|
11400 |