Trait bit_roles::BitRoleImpl

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

Bit role trait with compile-time value checks. Implements RoleManager for a role enum.

Required Methods§

source

fn empty() -> RoleManager<T>

Creates a new RoleManager instance with the default value.

§Examples
use bit_roles::BitRole;

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

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

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

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

Creates a new RoleManager instance with the provided value.

§Examples
use bit_roles::BitRole;

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

// 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§