Struct opendp::core::PrivacyRelation [−][src]
pub struct PrivacyRelation<MI: Metric, MO: Measure> {
pub relation: Rc<dyn Fn(&MI::Distance, &MO::Distance) -> Fallible<bool>>,
pub backward_map: Option<Rc<dyn Fn(&MO::Distance) -> Fallible<Box<MI::Distance>>>>,
}
Expand description
A boolean relation evaluating the privacy of a Measurement
.
A PrivacyRelation
is implemented as a function that takes an input Metric::Distance
and output Measure::Distance
,
and returns a boolean indicating if the relation holds.
Fields
relation: Rc<dyn Fn(&MI::Distance, &MO::Distance) -> Fallible<bool>>
backward_map: Option<Rc<dyn Fn(&MO::Distance) -> Fallible<Box<MI::Distance>>>>
Implementations
pub fn new_fallible(
relation: impl Fn(&MI::Distance, &MO::Distance) -> Fallible<bool> + 'static
) -> Self
pub fn new_all(
relation: impl Fn(&MI::Distance, &MO::Distance) -> Fallible<bool> + 'static,
backward_map: Option<impl Fn(&MO::Distance) -> Fallible<Box<MI::Distance>> + 'static>
) -> Self
pub fn new_from_constant(c: MO::Distance) -> Self where
MI::Distance: InfCast<MO::Distance> + Clone,
MO::Distance: DistanceConstant<MI::Distance>,
pub fn make_chain<MX: 'static + Metric>(
relation1: &PrivacyRelation<MX, MO>,
relation0: &StabilityRelation<MI, MX>,
hint: Option<&HintMt<MI, MO, MX>>
) -> Self
Trait Implementations
Auto Trait Implementations
impl<MI, MO> !RefUnwindSafe for PrivacyRelation<MI, MO>
impl<MI, MO> !Send for PrivacyRelation<MI, MO>
impl<MI, MO> !Sync for PrivacyRelation<MI, MO>
impl<MI, MO> Unpin for PrivacyRelation<MI, MO>
impl<MI, MO> !UnwindSafe for PrivacyRelation<MI, MO>
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Casts the value.
Casts the value.