WSF
usmtf::VerifiedLatLonS Class Reference

#include <VerifiedLatLonS.hpp>

Inheritance diagram for usmtf::VerifiedLatLonS:
Collaboration diagram for usmtf::VerifiedLatLonS:

Public Member Functions

 VerifiedLatLonS ()
bool ParseAndValidate (const Field &aField) override
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

Static Public Member Functions

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

Protected Member Functions

virtual void SetUtLLPos () noexcept
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

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

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 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"( )"

Detailed Description

FFIRN_Validator responsible for the validation and property extraction of a VerifiedLatLonS. A VerifiedLatLonS is a field that indicates latitude and longitude. USMTF Excerpt: / VLATS:351025N6-0790125W4

Constructor & Destructor Documentation

◆ VerifiedLatLonS()

Member Function Documentation

◆ GetFormattedLatLon() [1/2]

std::string usmtf::VerifiedLatLonS::GetFormattedLatLon ( ) const
noexcept

References mLongitudinalDegree.

◆ GetFormattedLatLon() [2/2]

std::string usmtf::VerifiedLatLonS::GetFormattedLatLon ( const UtLLPos & position)
staticnoexcept

References mLonSeconds.

◆ GetLatDegree()

const std::string & usmtf::VerifiedLatLonS::GetLatDegree ( ) const
noexcept

◆ GetLatHemisphere()

const std::string & usmtf::VerifiedLatLonS::GetLatHemisphere ( ) const
noexcept

◆ GetLatMinutes()

const std::string & usmtf::VerifiedLatLonS::GetLatMinutes ( ) const
noexcept

◆ GetLatSeconds()

const std::string & usmtf::VerifiedLatLonS::GetLatSeconds ( ) const
noexcept

◆ GetLonDegree()

const std::string & usmtf::VerifiedLatLonS::GetLonDegree ( ) const
noexcept

◆ GetLonHemisphere()

const std::string & usmtf::VerifiedLatLonS::GetLonHemisphere ( ) const
noexcept

◆ GetLonMinutes()

const std::string & usmtf::VerifiedLatLonS::GetLonMinutes ( ) const
noexcept

◆ GetLonSeconds()

const std::string & usmtf::VerifiedLatLonS::GetLonSeconds ( ) const
noexcept

◆ GetUtLLPos()

const UtLLPos & usmtf::VerifiedLatLonS::GetUtLLPos ( ) const
noexcept

UtLLPos are a most useful entity in the AFSIM framework. Instead of reinventing the wheel in LatLon, we make an attempt to use UtLLPos when they fulfill our need.

References mLattitudinalDegree.

◆ ParseAndValidate()

bool usmtf::VerifiedLatLonS::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.

Reimplemented in usmtf::VerifiedLatLonTM.

◆ SetUtLLPos()

void usmtf::VerifiedLatLonS::SetUtLLPos ( )
protectedvirtualnoexcept

Reimplemented in usmtf::VerifiedLatLonTM.

References mLatMinutes.

Member Data Documentation

◆ mLatHemisphere

std::string usmtf::VerifiedLatLonS::mLatHemisphere
protected

Referenced by GetLonMinutes().

◆ mLatMinutes

std::string usmtf::VerifiedLatLonS::mLatMinutes
protected

Referenced by GetLonMinutes(), and SetUtLLPos().

◆ mLatSeconds

std::string usmtf::VerifiedLatLonS::mLatSeconds
protected

Referenced by GetLonMinutes().

◆ mLattitudinalDegree

std::string usmtf::VerifiedLatLonS::mLattitudinalDegree
protected

Referenced by GetLonMinutes(), and GetUtLLPos().

◆ mLongitudinalDegree

std::string usmtf::VerifiedLatLonS::mLongitudinalDegree
protected

◆ mLonHemisphere

std::string usmtf::VerifiedLatLonS::mLonHemisphere
protected

Referenced by GetLatHemisphere().

◆ mLonMinutes

std::string usmtf::VerifiedLatLonS::mLonMinutes
protected

Referenced by GetLatHemisphere().

◆ mLonSeconds

std::string usmtf::VerifiedLatLonS::mLonSeconds
protected

◆ mUtLLPos

UtLLPos usmtf::VerifiedLatLonS::mUtLLPos
protected

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