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§
sourcefn empty() -> RoleManager<T>
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);sourcefn from_value(value: usize) -> RoleManager<T>
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.