Trait bit_roles::BitRoleUncheckedImpl

source ·
pub trait BitRoleUncheckedImpl<T> {
    // Required methods
    fn empty() -> RoleManagerUnchecked<T>;
    fn from_value(value: usize) -> RoleManagerUnchecked<T>;
}
Expand description

Unchecked bit role trait. Implements RoleManagerUnchecked for a role enum.

Required Methods§

source

fn empty() -> RoleManagerUnchecked<T>

Creates a new RoleManagerUnchecked instance with the default value.

§Examples
use bit_roles::{
    BitRoleUnchecked,
    RoleValue,
};

#[derive(Debug, BitRoleUnchecked, Copy, Clone)]
enum MyRole {
    None = 0,
    Staff = 1,
}

impl Into<usize> for MyRole {
    fn into(self) -> usize {
        self as usize
    }
}

// Create an empty manager instance.
let mut roles = MyRole::empty();

assert_eq!(roles.get_value(), 0);
source

fn from_value(value: usize) -> RoleManagerUnchecked<T>

Creates a new RoleManagerUnchecked instance with the provided value.

§Examples
use bit_roles::{
    BitRoleUnchecked,
    RoleValue,
};

#[derive(Debug, BitRoleUnchecked, Copy, Clone)]
enum MyRole {
    None = 0,
    Staff = 1,
}

impl Into<usize> for MyRole {
    fn into(self) -> usize {
        self as usize
    }
}

// Create a manager instance with the provided value.
let mut roles = MyRole::from_value(5);

assert_eq!(roles.get_value(), 5);
  • value - The value for the manager.

Object Safety§

This trait is not object safe.

Implementors§