13#ifndef RANGEDVALIDATOR_HPP
14#define RANGEDVALIDATOR_HPP
29 static_assert(std::is_arithmetic<T>::value,
"Type must pass is_arithmetic<T>");
53 std::string suggestedAction =
55 AddError(
"Value failed range check.", std::to_string(aValue), suggestedAction);
64 std::stringstream(aValue) >> casted;
65 if (!casted && aValue !=
"0")
67 AddError(
"Error Casting value", aValue,
"Please make sure value is valid int/double/float");
void AddError(const ValidationError &aError) noexcept
Definition ErrorManager.cpp:36
static bool IsInRange(T aValue, T aLowerBound, T aUpperBound) noexcept
Definition FFIRN_Validator.hpp:78
FFIRN_Validator()=default
void SetField(const Field &aField) noexcept
Field Setter for internal use only.
Definition FFIRN_Validator.cpp:57
const std::string & GetContent() const noexcept
Definition Field.cpp:24
Definition RangeValidator.hpp:28
bool IsInvalidRange(const std::string &aValue) noexcept
Definition RangeValidator.hpp:61
T GetCastedValue() const noexcept
Definition RangeValidator.hpp:44
bool IsInvalidRange(T aValue) noexcept
Definition RangeValidator.hpp:47
bool ParseAndValidate(const usmtf::Field &aField) override
Definition RangeValidator.hpp:32
T mCastedRangeValue
Definition RangeValidator.hpp:75
void SetValidRange(T aLowerBound, T aUpperBound)
Definition RangeValidator.hpp:38
T mLowerBound
Definition RangeValidator.hpp:76
T mUpperBound
Definition RangeValidator.hpp:77