Fixposition SDK 0.0.0-heads/main-0-g4d935a0
Collection of c++ libraries and apps for use with Fixposition products on Linux
Loading...
Searching...
No Matches
fpsdk::common::types Namespace Reference

Common types. More...

Classes

class  NoCopyNoMove
 Base class to prevent copy or move. More...

Functions

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
constexpr std::underlying_type< T >::type EnumToVal (T enum_val)
 Convert enum class constant to the underlying integral type value.
template<typename T>
constexpr std::size_t NumOf (const T &arr)
 Get number of elements in array variable.
template<typename T>
constexpr std::size_t NumOf ()
 Get number of elements in array type.
template<typename... Args>
constexpr const char * IxToStr (std::size_t ix, Args... args)
 Get string in list of strings by index.

Detailed Description

Common types.

Function Documentation

◆ EnumToVal()

template<typename T, typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::underlying_type< T >::type fpsdk::common::types::EnumToVal ( T enum_val)
constexpr

Convert enum class constant to the underlying integral type value.

Template Parameters
TThe enum class type
Parameters
[in]enum_valThe enum constant
Returns
the integral value of the enum constant as the value of the underlying type

Definition at line 47 of file types.hpp.

◆ NumOf() [1/2]

template<typename T>
std::size_t fpsdk::common::types::NumOf ( const T & arr)
constexpr

Get number of elements in array variable.

Template Parameters
TArray type
Parameters
[in]arrThe array
Returns
the number of elements in arr
std::array<int, 5> a5;
const std::size_t n6 = NumOf(a6); // = 5, same as a.size(), but works compile-time
int a3[3];
const std::size_t n3 = NumOf(a3); // = 3, works compile-time
constexpr std::size_t NumOf()
Get number of elements in array type.
Definition types.hpp:86

Definition at line 68 of file types.hpp.

◆ NumOf() [2/2]

template<typename T>
std::size_t fpsdk::common::types::NumOf ( )
constexpr

Get number of elements in array type.

Template Parameters
TArray type
Returns
the number of elements in the array
using Arr5 = std::array<int, 5>;
const std::size_t n6 = NumOf<Arr5>(); // = 5, works compile-time

Definition at line 86 of file types.hpp.

◆ IxToStr()

template<typename... Args>
const char * fpsdk::common::types::IxToStr ( std::size_t ix,
Args... args )
constexpr

Get string in list of strings by index.

Parameters
[in]ixIndex
[in]argsList of strings
Returns
the string, or "?" if index is too large

Definition at line 143 of file types.hpp.

Referenced by fpsdk::common::parser::ubx::UBX_CFG_RST_V0_RESETMODE_STR(), fpsdk::common::parser::ubx::UBX_CFG_VALDEL_V1_TRANSACTION_STR(), fpsdk::common::parser::ubx::UBX_CFG_VALGET_V0_LAYER_STR(), fpsdk::common::parser::ubx::UBX_CFG_VALGET_V1_LAYER_STR(), fpsdk::common::parser::ubx::UBX_CFG_VALSET_V1_TRANSACTION_STR(), fpsdk::common::parser::ubx::UBX_ESF_MEAS_V0_FLAGS_TIMEMARKSENT_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_FUSIONMODE_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_INITSTATUS1_INSINITSTATUS_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_INITSTATUS1_MNTALGSTATUS_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_INITSTATUS1_WTINITSTATUS_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_INITSTATUS2_IMUINITSTATUS_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_SENSSTATUS2_CALIBSTATUS_STR(), fpsdk::common::parser::ubx::UBX_ESF_STATUS_V2_SENSSTATUS2_TIMESTATUS_STR(), fpsdk::common::parser::ubx::UBX_GNSSID_STR(), fpsdk::common::parser::ubx::UBX_MGA_GAL_OSNMA_MERKLE_V0_BITFIELD0_APPLICABILITYTIME_STR(), fpsdk::common::parser::ubx::UBX_MGA_GAL_OSNMA_PUBKEY_V0_BITFIELD0_PUBKEYTYPE_STR(), fpsdk::common::parser::ubx::UBX_MGA_INI_TIME_GNSS_V0_REF_SOURCE_STR(), fpsdk::common::parser::ubx::UBX_MGA_INI_TIME_UTC_V0_REF_SOURCE_STR(), fpsdk::common::parser::ubx::UBX_MON_COMMS_V0_PROTIDS_STR(), fpsdk::common::parser::ubx::UBX_MON_COMMS_V0_TXERRORS_OUTPUTPORT_STR(), fpsdk::common::parser::ubx::UBX_MON_HW3_V0_PINMASK_DIRECTION_STR(), fpsdk::common::parser::ubx::UBX_MON_HW3_V0_PINMASK_PERIPHPIO_STR(), fpsdk::common::parser::ubx::UBX_MON_HW3_V0_PINMASK_PINBANK_STR(), fpsdk::common::parser::ubx::UBX_MON_HW_V0_APOWER_STR(), fpsdk::common::parser::ubx::UBX_MON_HW_V0_ASTATUS_STR(), fpsdk::common::parser::ubx::UBX_MON_HW_V0_FLAGS_JAMMINGSTATE_STR(), fpsdk::common::parser::ubx::UBX_MON_RF_V0_ANTPOWER_STR(), fpsdk::common::parser::ubx::UBX_MON_RF_V0_ANTSTATUS_STR(), fpsdk::common::parser::ubx::UBX_MON_RF_V0_FLAGS_JAMMINGSTATE_STR(), fpsdk::common::parser::ubx::UBX_MON_SYS_V1_BOOTTYPE_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FIXTYPE_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FLAGS3_AUTHTIME_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FLAGS3_LASTCORRECTIONAGE_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FLAGS3_NMAFIXSTATUS_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FLAGS_CARRSOLN_STR(), fpsdk::common::parser::ubx::UBX_NAV_PVT_V1_FLAGS_PSMSTATE_STR(), fpsdk::common::parser::ubx::UBX_NAV_RELPOSNED_V1_FLAGS_CARRSOLN_STR(), fpsdk::common::parser::ubx::UBX_NAV_SAT_V1_FLAGS_ORBITSOURCE_STR(), fpsdk::common::parser::ubx::UBX_NAV_SIG_V0_CORRSOURCE_STR(), fpsdk::common::parser::ubx::UBX_NAV_SIG_V0_IONOMODEL_STR(), fpsdk::common::parser::ubx::UBX_NAV_SIG_V0_QUALITYIND_STR(), fpsdk::common::parser::ubx::UBX_NAV_SIG_V0_SIGFLAGS_HEALTH_STR(), fpsdk::common::parser::ubx::UBX_NAV_STATUS_V0_FLAGS2_CARRSOLN_STR(), fpsdk::common::parser::ubx::UBX_NAV_STATUS_V0_FLAGS2_PSMSTATE_STR(), fpsdk::common::parser::ubx::UBX_NAV_STATUS_V0_FLAGS2_SPOOFDETSTATE_STR(), fpsdk::common::parser::ubx::UBX_NAV_STATUS_V0_GPSFIX_STR(), fpsdk::common::parser::ubx::UBX_NAV_TIMELS_V0_SRCOFCURRLS_STR(), fpsdk::common::parser::ubx::UBX_NAV_TIMELS_V0_SRCOFCURRLSCHANGE_STR(), fpsdk::common::parser::ubx::UBX_NAV_TIMETRUSTED_V1_REFSYS_STR(), fpsdk::common::parser::ubx::UBX_RXM_RTCM_V2_FLAGS_MSGUSED_STR(), fpsdk::common::parser::ubx::UBX_RXM_SPARTN_V1_FLAGS_MSGUSED_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_DSMAUTHENTICATIONSTATUS_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREMERKLEROOTSRC_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREPUBKEYSRC_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_MACADKDTYPE_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_MERKLEROOTSRC_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_PUBKEYSRC_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_GENERALANDTIMING_TIMINGAUTHRESULT_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_NMAHEADER_CPKS_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_NMAHEADER_NMASTATUS_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_OSNMAMONITORING_NMAHEADERUPDATE_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_TESLAKEY_TESLAKEYAUTHSTATUS_STR(), fpsdk::common::parser::ubx::UBX_SEC_OSNMA_V3_TIMSYNCREQ_TIMSYNCSTATUS_STR(), fpsdk::common::parser::ubx::UBX_SIGID_BDS_STR(), fpsdk::common::parser::ubx::UBX_SIGID_GAL_STR(), fpsdk::common::parser::ubx::UBX_SIGID_GLO_STR(), fpsdk::common::parser::ubx::UBX_SIGID_GPS_STR(), fpsdk::common::parser::ubx::UBX_SIGID_NAVIC_STR(), fpsdk::common::parser::ubx::UBX_SIGID_QZSS_STR(), fpsdk::common::parser::ubx::UBX_SIGID_SBAS_STR(), fpsdk::common::parser::ubx::UBX_TIM_TM2_V0_FLAGS_MODE_STR(), fpsdk::common::parser::ubx::UBX_TIM_TM2_V0_FLAGS_RUN_STR(), fpsdk::common::parser::ubx::UBX_TIM_TM2_V0_FLAGS_TIMEBASE_STR(), fpsdk::common::parser::ubx::UBX_TIM_TP_V0_FLAGS_RAIM_STR(), and fpsdk::common::parser::ubx::UBX_TIM_TP_V0_FLAGS_TIMEBASE_STR().