Struct seckey::SecKey
[−]
[src]
pub struct SecKey<T> { /* fields omitted */ }
Methods
impl<T> SecKey<T>
[src]
fn new(t: T) -> Result<SecKey<T>, T>
[src]
use seckey::{ zero, SecKey }; let k = SecKey::new([1, 2, 3]) .unwrap_or_else(|mut val| { // NOTE should zero it zero(&mut val); panic!() }); assert_eq!([1, 2, 3], *k.read());
unsafe fn from_raw(t: *const T) -> Option<SecKey<T>>
[src]
use seckey::SecKey; let mut v = [1, 2, 3]; let k = unsafe { SecKey::from_raw(&v).unwrap() }; assert_eq!([1, 2, 3], v); assert_eq!([1, 2, 3], *k.read());
fn with<F>(f: F) -> Option<SecKey<T>> where
F: FnOnce(*mut T),
[src]
F: FnOnce(*mut T),
use seckey::SecKey; let k: SecKey<u32> = SecKey::with(|ptr| unsafe { *ptr = 1 }).unwrap(); assert_eq!(1, *k.read());
impl<T: Default> SecKey<T>
[src]
fn with_default<F>(f: F) -> Option<SecKey<T>> where
F: FnOnce(&mut T),
[src]
F: FnOnce(&mut T),
use seckey::SecKey; let k: SecKey<u32> = SecKey::with_default(|ptr| *ptr += 1).unwrap(); assert_eq!(1, *k.read());
impl<T> SecKey<T>
[src]
fn read(&self) -> SecReadGuard<T>
[src]
Borrow Read.
use seckey::SecKey; let secpass = SecKey::new([8u8; 8]).unwrap(); assert_eq!([8u8; 8], *secpass.read());
fn write(&mut self) -> SecWriteGuard<T>
[src]
Borrow Write.
let mut wpass = secpass.write(); wpass[0] = 0; assert_eq!([0, 8, 8, 8, 8, 8, 8, 8], *wpass);
Trait Implementations
impl<T> Default for SecKey<T> where
T: Default,
[src]
T: Default,
fn default() -> Self
[src]
please use with_default
instead