#![allow(missing_docs)]
mod array;
mod primitive;
use core::fmt::Debug;
use core::hash::Hash;
use core::ops::*;
pub trait EnumSetTypeRepr :
Copy +
Ord +
Eq +
Debug +
Hash +
Send +
Sync +
BitAnd<Output = Self> +
BitOr<Output = Self> +
BitXor<Output = Self> +
Not<Output = Self> +
{
const PREFERRED_ARRAY_LEN: usize;
const WIDTH: u32;
const EMPTY: Self;
fn is_empty(&self) -> bool;
fn add_bit(&mut self, bit: u32);
fn remove_bit(&mut self, bit: u32);
fn has_bit(&self, bit: u32) -> bool;
fn count_ones(&self) -> u32;
fn and_not(&self, other: Self) -> Self;
type Iter: Iterator<Item = u32> + DoubleEndedIterator + Clone + Debug;
fn iter(self) -> Self::Iter;
fn from_u8(v: u8) -> Self;
fn from_u16(v: u16) -> Self;
fn from_u32(v: u32) -> Self;
fn from_u64(v: u64) -> Self;
fn from_u128(v: u128) -> Self;
fn from_usize(v: usize) -> Self;
fn to_u8(&self) -> u8;
fn to_u16(&self) -> u16;
fn to_u32(&self) -> u32;
fn to_u64(&self) -> u64;
fn to_u128(&self) -> u128;
fn to_usize(&self) -> usize;
fn try_from_u8(v: u8) -> Option<Self>;
fn try_from_u16(v: u16) -> Option<Self>;
fn try_from_u32(v: u32) -> Option<Self>;
fn try_from_u64(v: u64) -> Option<Self>;
fn try_from_u128(v: u128) -> Option<Self>;
fn try_from_usize(v: usize) -> Option<Self>;
fn try_to_u8(&self) -> Option<u8>;
fn try_to_u16(&self) -> Option<u16>;
fn try_to_u32(&self) -> Option<u32>;
fn try_to_u64(&self) -> Option<u64>;
fn try_to_u128(&self) -> Option<u128>;
fn try_to_usize(&self) -> Option<usize>;
fn to_u64_array<const O: usize>(&self) -> [u64; O];
fn try_to_u64_array<const O: usize>(&self) -> Option<[u64; O]>;
fn from_u64_array<const O: usize>(v: [u64; O]) -> Self;
fn try_from_u64_array<const O: usize>(v: [u64; O]) -> Option<Self>;
fn to_u64_slice(&self, out: &mut [u64]);
#[must_use]
fn try_to_u64_slice(&self, out: &mut [u64]) -> Option<()>;
fn from_u64_slice(v: &[u64]) -> Self;
fn try_from_u64_slice(v: &[u64]) -> Option<Self>;
}
pub use array::ArrayRepr;