pub fn should_check(&self,when:WhenToDoElectCandidateClauseChecking,reason : &ReasonForCount,reason_completed : bool) -> bool {
        match when  {
            WhenToDoElectCandidateClauseChecking::Never => false,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuota => true,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfNoUndistributedSurplusExistsAndExclusionNotOngoing => reason_completed && self.pending_surplus_distribution.is_empty(),
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfExclusionNotOngoing => reason_completed || !reason.is_elimination(),
            WhenToDoElectCandidateClauseChecking::AfterDeterminingWhoToExcludeButBeforeTransferringAnyPapers => true,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfNoUndistributedSurplusExists => self.pending_surplus_distribution.is_empty(),
        }
    }
/// See if one should check a particular termination rule
See if one should check a particular termination rule
See if one should check a particular termination rule
pub fn should_check(&self,when:WhenToDoElectCandidateClauseChecking,reason : &ReasonForCount,reason_completed : bool) -> bool {
        match when  {
            WhenToDoElectCandidateClauseChecking::Never => false,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuota => true,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfNoUndistributedSurplusExistsAndExclusionNotOngoing => reason_completed && self.pending_surplus_distribution.is_empty(),
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfExclusionNotOngoing => reason_completed || !reason.is_elimination(),
            WhenToDoElectCandidateClauseChecking::AfterDeterminingWhoToExcludeButBeforeTransferringAnyPapers => true,
            WhenToDoElectCandidateClauseChecking::AfterCheckingQuotaIfNoUndistributedSurplusExists => self.pending_surplus_distribution.is_empty(),
        }
    }
pub fn should_check ( & self , when : WhenToDoElectCandidateClauseChecking , reason : & ReasonForCount , reason_completed : bool ) -> bool { match when { WhenToDoElectCandidateClauseChecking :: Never => false , WhenToDoElectCandidateClauseChecking :: AfterCheckingQuota => true , WhenToDoElectCandidateClauseChecking :: AfterCheckingQuotaIfNoUndistributedSurplusExistsAndExclusionNotOngoing => reason_completed && self . pending_surplus_distribution . is_empty ( ) , WhenToDoElectCandidateClauseChecking :: AfterCheckingQuotaIfExclusionNotOngoing => reason_completed || ! reason . is_elimination ( ) , WhenToDoElectCandidateClauseChecking :: AfterDeterminingWhoToExcludeButBeforeTransferringAnyPapers => true , WhenToDoElectCandidateClauseChecking :: AfterCheckingQuotaIfNoUndistributedSurplusExists => self . pending_surplus_distribution . is_empty ( ) , } }
See if one should check a particular termination rule
See if one should check a particular termination rule
&self
when
WhenToDoElectCandidateClauseChecking
reason
&ReasonForCount
reason_completed
bool
&self
when
WhenToDoElectCandidateClauseChecking
reason
&ReasonForCount
reason_completed
bool