pub struct EnvelopeMembershipEvidence { /* private fields */ }Expand description
Declared and derived envelope membership, with supporting evidence.
Implementations§
Source§impl EnvelopeMembershipEvidence
impl EnvelopeMembershipEvidence
Sourcepub fn try_new(
request: EnvelopeMembershipRequest,
declared: Vec<ObjectId>,
derived: Vec<ObjectId>,
evaluated_objects: usize,
evidence: Evidence,
) -> Result<Self, EnvelopeMembershipError>
pub fn try_new( request: EnvelopeMembershipRequest, declared: Vec<ObjectId>, derived: Vec<ObjectId>, evaluated_objects: usize, evidence: Evidence, ) -> Result<Self, EnvelopeMembershipError>
Both sets are sorted and deduplicated so agreement is decided by content, never by the order an adapter happened to walk the model.
Sourcepub fn with_undeclared(self, undeclared: Vec<ObjectId>) -> Self
pub fn with_undeclared(self, undeclared: Vec<ObjectId>) -> Self
Records objects that cannot be compared: the model states neither external nor internal, or their body could not be measured.
An unstated declaration is unknown, not internal, and an unmeasured body is not known to be off the envelope, so these objects leave both sets: comparing them would report a discrepancy nobody established.
pub fn request(&self) -> &EnvelopeMembershipRequest
Sourcepub fn derived(&self) -> &[ObjectId]
pub fn derived(&self) -> &[ObjectId]
Objects geometry places on the envelope, less the undeclared ones:
the set compared with Self::declared.
Sourcepub fn on_envelope(&self) -> &[ObjectId]
pub fn on_envelope(&self) -> &[ObjectId]
Objects geometry places on the envelope, whatever the model declares about them: what two derivations are compared by. An object whose body could not be measured is never in it.
Sourcepub fn undeclared(&self) -> &[ObjectId]
pub fn undeclared(&self) -> &[ObjectId]
Objects that cannot be compared, excluded from both sets.
Sourcepub fn evaluated_objects(&self) -> usize
pub fn evaluated_objects(&self) -> usize
How many objects the derivation considered.
pub fn evidence(&self) -> &Evidence
Sourcepub fn declared_only(&self) -> Vec<ObjectId>
pub fn declared_only(&self) -> Vec<ObjectId>
Declared on the envelope but not derived there.
Sourcepub fn derived_only(&self) -> Vec<ObjectId>
pub fn derived_only(&self) -> Vec<ObjectId>
Derived on the envelope but not declared there.