blob: abb1118fa14a41a4c61eeebb897aeca2d0fc2588 (
plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
//! 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`.
__declare_public_bitflags! {
/// This is the same `Flags` struct defined in the [crate level example](../index.html#example).
/// Note that this struct is just for documentation purposes only, it must not be used outside
/// this crate.
pub struct Flags
}
__declare_internal_bitflags! {
pub struct Field0: u32
}
__impl_internal_bitflags! {
Field0: u32, Flags {
// Field `A`.
///
/// This flag has the value `0b00000001`.
const A = 0b00000001;
/// Field `B`.
///
/// This flag has the value `0b00000010`.
const B = 0b00000010;
/// Field `C`.
///
/// This flag has the value `0b00000100`.
const C = 0b00000100;
const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
}
}
__impl_public_bitflags_forward! {
Flags: u32, Field0
}
__impl_public_bitflags_ops! {
Flags
}
__impl_public_bitflags_iter! {
Flags: u32, Flags
}
__impl_public_bitflags_consts! {
Flags: u32 {
/// Field `A`.
///
/// This flag has the value `0b00000001`.
const A = 0b00000001;
/// Field `B`.
///
/// This flag has the value `0b00000010`.
const B = 0b00000010;
/// Field `C`.
///
/// This flag has the value `0b00000100`.
const C = 0b00000100;
const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
}
}
|