(layers: I)
| 180 | |
| 181 | #[inline] |
| 182 | pub fn try_from_layers<I, L>(layers: I) -> Option<Self> |
| 183 | where |
| 184 | I: IntoIterator<Item = L>, |
| 185 | L: IntoBitMaskLayer, |
| 186 | { |
| 187 | let mut bits = 0u32; |
| 188 | for layer in layers { |
| 189 | let layer = layer.into_bitmask_layer()?; |
| 190 | bits |= Self::layer(layer).bits(); |
| 191 | } |
| 192 | Some(Self(bits)) |
| 193 | } |
| 194 | |
| 195 | #[inline] |
| 196 | pub const fn with_bits<const N: usize>(bits_in: [u8; N]) -> Self { |