From 6b3205e3e4f4178ff5cbfa812e30ef6c28a1a8fa Mon Sep 17 00:00:00 2001 From: sib Date: Wed, 25 Jul 2018 14:36:15 -0400 Subject: [PATCH] to_i32 shortcut for CFNumber --- core-foundation/src/number.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core-foundation/src/number.rs b/core-foundation/src/number.rs index 96ec312..ce8e8f0 100644 --- a/core-foundation/src/number.rs +++ b/core-foundation/src/number.rs @@ -25,6 +25,16 @@ impl_CFTypeDescription!(CFNumber); impl_CFComparison!(CFNumber, CFNumberCompare); impl CFNumber { + + #[inline] + pub fn to_i32(&self) -> Option { + unsafe { + let mut value: i32 = 0; + let ok = CFNumberGetValue(self.0, kCFNumberSInt32Type, mem::transmute(&mut value)); + if ok { Some(value) } else { None } + } + } + #[inline] pub fn to_i64(&self) -> Option { unsafe {