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

Detailed Description

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

See also
MIL-STD 2525D for field details.

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 , SeaSurface = 30 , SeaSubsurface = 35 ,
  MineWarfare = 36 , Activities = 40 , Atmospheric = 45 , Oceanographic = 46 ,
  MeteorologicalSpace = 47 , SignalsIntelligenceSpace = 50 , SignalsIntelligenceAir = 51 , SignalsIntelligenceLand = 52 ,
  SignalsIntelligenceSurface = 53 , SignalsIntelligenceSubsurface = 54 , Cyberspace = 60
}
 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

 TSLSidc2525d ()
 Constructs an invalid SIDC with all fields set to zero.
 TSLSidc2525d (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 TSLSidc2525d::Context : std::uint8_t
strong

Context.

Enumerator
Reality 
Excercise 
Simulation 

◆ HqTfDummy

enum class TSLSidc2525d::HqTfDummy : std::uint8_t
strong

HQ/Task Force/Dummy.

Enumerator
None 
Hq 
TaskForce 
HqTaskForce 
Dummy 
HqDummy 
TaskForceDummy 
HqTaskForceDummy 

◆ StandardIdentity

enum class TSLSidc2525d::StandardIdentity : std::uint8_t
strong

Standard Identity.

Enumerator
Pending 
Unknown 
AssumedFriend 
Friend 
Neutral 
Suspect 
Hostile 

◆ Status

enum class TSLSidc2525d::Status : std::uint8_t
strong

Status values.

Enumerator
Present 
PlannedAnticipatedSuspect 
PresentFullyCapable 
PresentDamaged 
PresentDestroyed 
PresentFullToCapacity 

◆ SymbolSet

enum class TSLSidc2525d::SymbolSet : std::uint8_t
strong

Symbol Set.

Enumerator
Unknown 
Air 
AirMissile 
Space 
SpaceMissile 
LandUnit 
LandCivilianUnitOrganization 
LandEquipment 
LandInstallation 
ControlMeasure 
SeaSurface 
SeaSubsurface 
MineWarfare 
Activities 
Atmospheric 
Oceanographic 
MeteorologicalSpace 
SignalsIntelligenceSpace 
SignalsIntelligenceAir 
SignalsIntelligenceLand 
SignalsIntelligenceSurface 
SignalsIntelligenceSubsurface 
Cyberspace 

Constructor & Destructor Documentation

◆ TSLSidc2525d() [1/2]

TSLSidc2525d::TSLSidc2525d ( )

Constructs an invalid SIDC with all fields set to zero.

◆ TSLSidc2525d() [2/2]

TSLSidc2525d::TSLSidc2525d ( 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 TSLSidc2525d::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 TSLSidc2525d::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()

TSLSidc2525d::operator bool ( ) const
inlineexplicit

Calculate the validity of a parsed SIDC.

Returns
isValid()
See also
isValid()

◆ parse()

bool TSLSidc2525d::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 TSLSidc2525d::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 TSLSidc2525d::amplifier = 0

◆ context

Context TSLSidc2525d::context = {}

◆ entity

std::uint8_t TSLSidc2525d::entity = 0

◆ entitySubtype

std::uint8_t TSLSidc2525d::entitySubtype = 0

◆ entityType

std::uint8_t TSLSidc2525d::entityType = 0

◆ hqTfDummy

HqTfDummy TSLSidc2525d::hqTfDummy = {}

◆ modifier1

std::uint8_t TSLSidc2525d::modifier1 = 0

◆ modifier2

std::uint8_t TSLSidc2525d::modifier2 = 0

◆ standardIdentity

StandardIdentity TSLSidc2525d::standardIdentity = {}

◆ status

Status TSLSidc2525d::status = {}

◆ symbolSet

SymbolSet TSLSidc2525d::symbolSet = {}

◆ version

std::uint8_t TSLSidc2525d::version = 0