pub struct ScoreValidator { /* private fields */ }Expand description
A reusable validator for score ranges.
This validator can be configured with custom min/max bounds and field names, making it suitable for validating confidence scores, probabilities, and other numerical ranges across different tasks.
§Examples
use oar_ocr_core::utils::validation::ScoreValidator;
use oar_ocr_core::core::OCRError;
let validator = ScoreValidator::new_unit_range("confidence");
validator.validate_scores(&[0.5, 0.8, 0.95], "Detection")?;Implementations§
Source§impl ScoreValidator
impl ScoreValidator
Sourcepub fn new(min: f32, max: f32, field_name: impl Into<String>) -> ScoreValidator
pub fn new(min: f32, max: f32, field_name: impl Into<String>) -> ScoreValidator
Creates a new score validator with custom bounds.
§Arguments
min- Minimum valid score (inclusive)max- Maximum valid score (inclusive)field_name- Name of the field being validated (for error messages)
Sourcepub fn new_unit_range(field_name: impl Into<String>) -> ScoreValidator
pub fn new_unit_range(field_name: impl Into<String>) -> ScoreValidator
Creates a validator for unit range scores [0.0, 1.0].
This is the most common case for confidence scores and probabilities.
Sourcepub fn validate_score(&self, score: f32, context: &str) -> Result<(), OCRError>
pub fn validate_score(&self, score: f32, context: &str) -> Result<(), OCRError>
Validates a single score value.
§Errors
Returns OCRError::InvalidInput if the score is outside the valid range.
Sourcepub fn validate_scores(
&self,
scores: &[f32],
context_prefix: &str,
) -> Result<(), OCRError>
pub fn validate_scores( &self, scores: &[f32], context_prefix: &str, ) -> Result<(), OCRError>
Validates a collection of scores.
§Errors
Returns OCRError::InvalidInput if any score is outside the valid range.
The error message includes the index of the invalid score.
Trait Implementations§
Source§impl Clone for ScoreValidator
impl Clone for ScoreValidator
Source§fn clone(&self) -> ScoreValidator
fn clone(&self) -> ScoreValidator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ScoreValidator
impl RefUnwindSafe for ScoreValidator
impl Send for ScoreValidator
impl Sync for ScoreValidator
impl Unpin for ScoreValidator
impl UnwindSafe for ScoreValidator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.