triplers 0.1.1

library for parsing, manipulating, and serializing target triples.
Documentation
crate::triple_part! {
    Kalimba {
        Kalimba ,
        V3      ,
        V4      ,
        V5      ,
    }

    canon(self) {
        match self {
            Kalimba::Kalimba => "kalimba",
            Kalimba::V3      => "kalimba3",
            Kalimba::V4      => "kalimba4",
            Kalimba::V5      => "kalimba5",
        }
    }

    parse(src) {
        if prefix!("kalimba5" src) { return Some((Kalimba::V5, 8)); }
        if prefix!("kalimba4" src) { return Some((Kalimba::V4, 8)); }
        if prefix!("kalimba3" src) { return Some((Kalimba::V3, 8)); }
        if prefix!("kalimba"  src) { return Some((Kalimba::Kalimba, 7)); }
        None
    }

    bits(self) {
        if *self == Kalimba::Kalimba { return 16; }
        if *self == Kalimba::V3 { return 24; }
        32
    }
}