pub fn json_to_dnf<K: PublicAttributeKey>(
    _json: &serde_json::Value,
    _pks: &Vec<K>,
) -> Option<DnfPolicy> {
    let mut dnfp = DnfPolicy::new();
    if dnf(&mut dnfp, _pks, _json, 0) {
        dnfp._terms.sort_by(|a, b| a.0.len().cmp(&b.0.len()));
        return Some(dnfp);
    }
    return None;
}
// this calcluates the sum's of all conjunction terms in a Bdabe DNF policy ( see fn dnf() )
this calcluates the sum's of all conjunction terms in a Bdabe DNF policy ( see fn dnf() )
this calcluates the sum ' s of all conjunction terms in a Bdabe DNF policy ( see fn dnf () )
pub fn json_to_dnf<K: PublicAttributeKey>(
    _json: &serde_json::Value,
    _pks: &Vec<K>,
) -> Option<DnfPolicy> {
    let mut dnfp = DnfPolicy::new();
    if dnf(&mut dnfp, _pks, _json, 0) {
        dnfp._terms.sort_by(|a, b| a.0.len().cmp(&b.0.len()));
        return Some(dnfp);
    }
    return None;
}
pub fn json_to_dnf < K : PublicAttributeKey > ( _json : & serde_json :: Value , _pks : & Vec < K > , ) -> Option < DnfPolicy > { let mut dnfp = DnfPolicy :: new ( ) ; if dnf ( & mut dnfp , _pks , _json , 0 ) { dnfp . _terms . sort_by ( | a , b | a . 0 . len ( ) . cmp ( & b . 0 . len ( ) ) ) ; return Some ( dnfp ) ; } return None ; }
this calcluates the sum's of all conjunction terms in a Bdabe DNF policy ( see fn dnf() )
this calcluates the sum ' s of all conjunction terms in a Bdabe DNF policy ( see fn dnf () )
_json
&serde_json::Value
_pks
&Vec<K>
_json
&serde_json::Value
_pks
&Vec<K>