WSF
usmtf::VerifiedLatLonDS Class Reference

#include <VerifiedLatLonDS.hpp>

Inheritance diagram for usmtf::VerifiedLatLonDS:
Collaboration diagram for usmtf::VerifiedLatLonDS:

Public Member Functions

 VerifiedLatLonDS ()
bool ParseAndValidate (const Field &aField) override
Public Member Functions inherited from usmtf::VerifiedLatLonTM
 VerifiedLatLonTM ()
bool ParseAndValidate (const Field &aField) override
Public Member Functions inherited from usmtf::VerifiedLatLonS
 VerifiedLatLonS ()
const std::string & GetLatDegree () const noexcept
const std::string & GetLonDegree () const noexcept
const std::string & GetLatSeconds () const noexcept
const std::string & GetLonSeconds () const noexcept
const std::string & GetLatMinutes () const noexcept
const std::string & GetLonMinutes () const noexcept
const std::string & GetLatHemisphere () const noexcept
const std::string & GetLonHemisphere () const noexcept
const UtLLPos & GetUtLLPos () const noexcept
std::string GetFormattedLatLon () const noexcept
Public Member Functions inherited from usmtf::RegexValidator
 RegexValidator ()=default
void SetRegexExpression (const std::string &aExpression)
 Configure to run against regex needs.
void SetErrorMessage (const std::string &aMessage)
Public Member Functions inherited from usmtf::FFIRN_Validator
 FFIRN_Validator ()=default
const std::string & GetRawContent () const noexcept
 Return the content of the field as it was in the USMTF set.
std::vector< std::string > SplitOnDelimeter (const std::string &value, const std::string &delimeter)
 Values separated by delimeter.
const std::string & GetFieldContent () const noexcept
Public Member Functions inherited from usmtf::Validatable
bool IsValid () const noexcept
Public Member Functions inherited from usmtf::ErrorManager
virtual ~ErrorManager ()=default
bool HasErrors () const noexcept
void LogErrors (std::ostream &aOut) const noexcept
const std::vector< ValidationError > & GetErrors () const

Additional Inherited Members

Public Types inherited from usmtf::FFIRN_Validator
using FFIRN_Func = std::function<bool(void)>
using FFIRN_DescriptorMap = std::unordered_map<std::string, FFIRN_Func>
Static Public Member Functions inherited from usmtf::VerifiedLatLonS
static std::string GetFormattedLatLon (const UtLLPos &position) noexcept
Static Public Member Functions inherited from usmtf::FFIRN_Validator
static bool IsInSelection (const std::string &aValue, const std::vector< std::string > &choices) noexcept
static bool IsStringLength (const std::string &aValue, size_t aLength) noexcept
static size_t CheckForAnyDelimeter (const std::string &aValue, const std::vector< std::string > &aDelimeters) noexcept
 Returns the positions of a specified delimiter if present, npos if not.
static size_t CheckForAnyDelimeter (const std::string &aValue, const std::vector< std::string > &aDelimeters, std::string &aFoundDelimeter) noexcept
template<class T>
static bool IsInRange (T aValue, T aLowerBound, T aUpperBound) noexcept
Static Public Attributes inherited from usmtf::RegexValidator
static const std::string cAny = R"((.*))"
static const std::string c00to90 = R"(([0-8][0-9]|90))"
static const std::string c00to59 = R"(([0-5][0-9]))"
static const std::string c00to59dec000to999 = R"(([0-5][0-9])(.)([0-9]{3}))"
static const std::string c00to59dec0to9 = R"(([0-5][0-9])(.)([0-9]{1}))"
static const std::string c01to60 = R"(([0-5][1-9]|10|20|30|40|50|60))"
static const std::string cNorS = R"((N|S))"
static const std::string cAtoZ = R"((A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z))"
static const std::string c0to9 = R"(([0-9]))"
static const std::string cHyphenDelimeter = R"((-))"
static const std::string c000to180 = R"((0[0-9]{2}|1[0-7][0-9]|180))"
static const std::string c000to359 = R"((0[0-9]{2}|1[0-9]{2}|2[0-9]{2}|3[0-5][0-9]))"
static const std::string c0to999 = R"(([0-9]{1,3}))"
static const std::string c1to999 = R"(([1-9][0-9]{0,2}))"
static const std::string c000to99999 = R"(([0-9]{3,5}))"
static const std::string cEorW = R"((E|W))"
static const std::string cStart = R"(^)"
static const std::string cEnd = R"($)"
static const std::string cSpace = R"( )"
Protected Member Functions inherited from usmtf::VerifiedLatLonTM
std::string CalculateSeconds (std::string &aMinuteFraction, double &secondFraction) noexcept
void SetUtLLPos () noexcept override
Protected Member Functions inherited from usmtf::FFIRN_Validator
bool ValidateByDescriptor (const FFIRN_DescriptorMap &aDescriptorMap)
 Speed up validation if descriptor is present. Runs all functions if it isn't.
void ClearErrorsIfValid (bool aHasAtLeastOnePassed) noexcept
void SetField (const Field &aField) noexcept
 Field Setter for internal use only.
Protected Member Functions inherited from usmtf::ErrorManager
void AddError (const ValidationError &aError) noexcept
void AddError (const std::string &aFailureReason, const std::string &aValueValidatied, const std::string &aOptionalSuggestion="") noexcept
void AddError (const std::string &aErrorMessage) noexcept
void AddErrors (const std::vector< ValidationError > &aErrors) noexcept
void ClearErrors () noexcept
Protected Attributes inherited from usmtf::VerifiedLatLonTM
double mLatSecondsFraction
double mLonSecondsFraction
Protected Attributes inherited from usmtf::VerifiedLatLonS
std::string mLattitudinalDegree
std::string mLongitudinalDegree
std::string mLatMinutes
std::string mLonMinutes
std::string mLatSeconds
std::string mLonSeconds
std::string mLatHemisphere
std::string mLonHemisphere
UtLLPos mUtLLPos
Protected Attributes inherited from usmtf::RegexValidator
QRegularExpressionMatch mMatchResults
QRegularExpression mRegexExpression
std::string mRegexString {"No Regex Provided"}
std::string mErrorMessage {"Failed Regex Validation for: " + mRegexString}
Protected Attributes inherited from usmtf::FFIRN_Validator
Field mField

Detailed Description

FFIRN_Validator responsible for the validation and property extraction of a VerifiedLatLonDS. Same as other lat long just a more precise representation of the seconds field in tens of a second.

Constructor & Destructor Documentation

◆ VerifiedLatLonDS()

Member Function Documentation

◆ ParseAndValidate()

bool usmtf::VerifiedLatLonDS::ParseAndValidate ( const Field & aField)
overridevirtual

Run against whole field content. If Matches, safely extract portions. I see this be used in conjunction with variant validator quite a bit to solve complex extraction. Lets see!!

Reimplemented from usmtf::RegexValidator.


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved