Struct cpf::Cpf [−][src]
pub struct Cpf { /* fields omitted */ }
Expand description
A valid CPF number.
Initialize a Cpf
from a &str
or an array of digits:
use cpf::Cpf; let cpf1 = "385.211.390-39".parse::<Cpf>()?; let cpf2 = Cpf::try_from([3, 8, 5, 2, 1, 1, 3, 9, 0, 3, 9])?; assert_eq!(cpf1, cpf2);
Note that the Cpf
struct can only be initialized after a successfully parse,
so it is guaranteed to always be valid.
use cpf::Cpf; let cpf = "000.000.000-00".parse::<Cpf>(); assert!(cpf.is_err()); let cpf = "385.211.390-39".parse::<Cpf>().unwrap(); assert!(cpf::valid(cpf));
Implementations
impl Cpf
[src]
impl Cpf
[src]pub fn digits(&self) -> [u8; 11]
[src]
pub fn digits(&self) -> [u8; 11]
[src]The Cpf digits.
use cpf::Cpf; let cpf: Cpf = "385.211.390-39".parse()?; assert_eq!(cpf.digits(), [3, 8, 5, 2, 1, 1, 3, 9, 0, 3, 9]);
pub fn as_str(&self) -> &str
[src]
pub fn as_str(&self) -> &str
[src]Returns the (unformatted) CPF number.
use cpf::Cpf; let cpf: Cpf = "385.211.390-39".parse()?; assert_eq!(cpf.as_str(), "38521139039");
Note that even being unformatted, the number will be padded by zeros.
use cpf::Cpf; let cpf: Cpf = "5120101".parse()?; assert_eq!(cpf.as_str(), "00005120101");
Trait Implementations
impl Copy for Cpf
[src]
impl Eq for Cpf
[src]
impl StructuralEq for Cpf
[src]
impl StructuralPartialEq for Cpf
[src]
Auto Trait Implementations
impl RefUnwindSafe for Cpf
impl Send for Cpf
impl Sync for Cpf
impl Unpin for Cpf
impl UnwindSafe for Cpf
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,