MapLink Pro .
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLSidcApp6d Struct Reference

Detailed Description

The parsed representation of a 20-character APP-6D Symbol Identification Code (SIDC) Fields are freely modifiable to permit building of a symbol programmatically.

Public Types

enum class  Context : std::uint8_t { Reality = 0 , Excercise = 1 , Simulation = 2 }
 Context. More...
enum class  StandardIdentity : std::uint8_t {
  Pending = 0 , Unknown = 1 , AssumedFriend = 2 , Friend = 3 ,
  Neutral = 4 , Suspect = 5 , Hostile = 6
}
 Standard Identity. More...
enum class  SymbolSet : std::uint8_t {
  Unknown = 0 , Air = 1 , AirMissile = 2 , Space = 5 ,
  SpaceMissile = 6 , LandUnit = 10 , LandCivilianUnitOrganization = 11 , LandEquipment = 15 ,
  LandInstallation = 20 , ControlMeasure = 25 , DismountedIndividual = 27 , SeaSurface = 30 ,
  SeaSubsurface = 35 , MineWarfare = 36 , Activities = 40 , Atmospheric = 45 ,
  Oceanographic = 46 , MeteorologicalSpace = 47 , SignalsIntelligenceSpace = 50 , SignalsIntelligenceAir = 51 ,
  SignalsIntelligenceLand = 52 , SignalsIntelligenceSurface = 53 , SignalsIntelligenceSubsurface = 54 , CyberspaceSpace = 60 ,
  CyberspaceAir = 61 , CyberspaceLand = 62 , CyberspaceSurface = 63 , CyberspaceSubsurface = 64
}
 Symbol Set. More...
enum class  Status : std::uint8_t {
  Present = 0 , PlannedAnticipatedSuspect = 1 , PresentFullyCapable = 2 , PresentDamaged = 3 ,
  PresentDestroyed = 4 , PresentFullToCapacity = 5
}
 Status values. More...
enum class  HqTfDummy : std::uint8_t {
  None = 0 , Hq = 1 , TaskForce = 2 , HqTaskForce = 3 ,
  Dummy = 4 , HqDummy = 5 , TaskForceDummy = 6 , HqTaskForceDummy = 7
}
 HQ/Task Force/Dummy. More...

Public Member Functions

 TSLSidcApp6d ()
 Constructs an invalid SIDC with all fields set to zero.
 TSLSidcApp6d (std::string_view code)
bool parse (std::string_view code)
bool isValid () const
 operator bool () const
bool isCivilian () const
std::string toString () const

Public Attributes

std::uint8_t version = 0
Context context = {}
StandardIdentity standardIdentity = {}
SymbolSet symbolSet = {}
Status status = {}
HqTfDummy hqTfDummy = {}
std::uint8_t amplifier = 0
std::uint8_t entity = 0
std::uint8_t entityType = 0
std::uint8_t entitySubtype = 0
std::uint8_t modifier1 = 0
std::uint8_t modifier2 = 0

Member Enumeration Documentation

◆ Context

enum class TSLSidcApp6d::Context : std::uint8_t
strong

Context.

Enumerator
Reality 
Excercise 
Simulation 

◆ HqTfDummy

enum class TSLSidcApp6d::HqTfDummy : std::uint8_t
strong

HQ/Task Force/Dummy.

Enumerator
None 
Hq 
TaskForce 
HqTaskForce 
Dummy 
HqDummy 
TaskForceDummy 
HqTaskForceDummy 

◆ StandardIdentity

enum class TSLSidcApp6d::StandardIdentity : std::uint8_t
strong

Standard Identity.

Enumerator
Pending 
Unknown 
AssumedFriend 
Friend 
Neutral 
Suspect 
Hostile 

◆ Status

enum class TSLSidcApp6d::Status : std::uint8_t
strong

Status values.

Enumerator
Present 
PlannedAnticipatedSuspect 
PresentFullyCapable 
PresentDamaged 
PresentDestroyed 
PresentFullToCapacity 

◆ SymbolSet

enum class TSLSidcApp6d::SymbolSet : std::uint8_t
strong

Symbol Set.

Enumerator
Unknown 
Air 
AirMissile 
Space 
SpaceMissile 
LandUnit 
LandCivilianUnitOrganization 
LandEquipment 
LandInstallation 
ControlMeasure 
DismountedIndividual 
SeaSurface 
SeaSubsurface 
MineWarfare 
Activities 
Atmospheric 
Oceanographic 
MeteorologicalSpace 
SignalsIntelligenceSpace 
SignalsIntelligenceAir 
SignalsIntelligenceLand 
SignalsIntelligenceSurface 
SignalsIntelligenceSubsurface 
CyberspaceSpace 
CyberspaceAir 
CyberspaceLand 
CyberspaceSurface 
CyberspaceSubsurface 

Constructor & Destructor Documentation

◆ TSLSidcApp6d() [1/2]

TSLSidcApp6d::TSLSidcApp6d ( )

Constructs an invalid SIDC with all fields set to zero.

◆ TSLSidcApp6d() [2/2]

TSLSidcApp6d::TSLSidcApp6d ( std::string_view code)
explicit

Construct and parse()

Parameters
[in]codeSIDC to parse, consisting of exactly 20 ASCII decimal digits.
See also
parse()

Member Function Documentation

◆ isCivilian()

bool TSLSidcApp6d::isCivilian ( ) const

Determine whether a symbol represents a civilian type object. Some entities or modifiers are considered civilian and when then are not hostile/suspect.

Returns
true if the SIDC denotes a non-hostile civilian entity.

◆ isValid()

bool TSLSidcApp6d::isValid ( ) const

Calculate the validity of a parsed SIDC. A SIDC is consiered valid if:

  1. std::uint8_t fields' value are within the range 00-99.
  2. enum fields' value has a corresponding enumerator. return true if any fields are out of range

◆ operator bool()

TSLSidcApp6d::operator bool ( ) const
inlineexplicit

Calculate the validity of a parsed SIDC.

Returns
isValid()
See also
isValid()

◆ parse()

bool TSLSidcApp6d::parse ( std::string_view code)

Parse from a 20-character SIDC code. Parses a 20-character MIL-STD-2525D Symbol Identification Code (SIDC) into its constituent fields.

Field layout (positions 1-based): 1-2 : Version (e.g. "10" for 2525D) 3-4 : Standard Identity (00-06) 5-6 : Symbol Set (two digits) 7 : Status (0=Present, 1=Planned/Anticipated) 8 : HQ/Task Force/Dummy indicator 9-10 : Amplifier 11-12 : Entity 13-14 : Entity Type 15-16 : Entity Subtype 17-18 : First Modifier 19-20 : Second Modifier

Note
Failure to parse will modify the object and leave a mixture of old and new values.
Parameters
[in]codeSIDC to parse, consisting of exactly 20 ASCII decimal digits.
Returns
isValid()

◆ toString()

std::string TSLSidcApp6d::toString ( ) const

Convert the SIDC into string form.

Returns
A valid 20-character SIDC string or the empty string if invalid.

Member Data Documentation

◆ amplifier

std::uint8_t TSLSidcApp6d::amplifier = 0

◆ context

Context TSLSidcApp6d::context = {}

◆ entity

std::uint8_t TSLSidcApp6d::entity = 0

◆ entitySubtype

std::uint8_t TSLSidcApp6d::entitySubtype = 0

◆ entityType

std::uint8_t TSLSidcApp6d::entityType = 0

◆ hqTfDummy

HqTfDummy TSLSidcApp6d::hqTfDummy = {}

◆ modifier1

std::uint8_t TSLSidcApp6d::modifier1 = 0

◆ modifier2

std::uint8_t TSLSidcApp6d::modifier2 = 0

◆ standardIdentity

StandardIdentity TSLSidcApp6d::standardIdentity = {}

◆ status

Status TSLSidcApp6d::status = {}

◆ symbolSet

SymbolSet TSLSidcApp6d::symbolSet = {}

◆ version

std::uint8_t TSLSidcApp6d::version = 0