Vanetza
 
Loading...
Searching...
No Matches
vanetza::geonet::Lifetime Class Reference
Inheritance diagram for vanetza::geonet::Lifetime:

Public Types

enum class  Base { Fifty_Milliseconds = 0 , One_Second = 1 , Ten_Seconds = 2 , Hundred_Seconds = 3 }
 

Public Member Functions

 Lifetime (Base base, BitNumber< uint8_t, 6 > multiplier)
 
void set (Base base, BitNumber< uint8_t, 6 > multiplier)
 
uint8_t raw () const
 
void raw (uint8_t raw)
 
bool operator< (const Lifetime &) const
 
bool operator== (const Lifetime &) const
 
units::Duration decode () const
 
void encode (units::Duration)
 

Static Public Member Functions

static const Lifetime zero ()
 

Static Public Attributes

static constexpr uint8_t multiplier_mask = 0xFC
 
static constexpr uint8_t base_mask = 0x03
 

Private Attributes

uint8_t m_lifetime
 

Detailed Description

Definition at line 15 of file lifetime.hpp.

Member Enumeration Documentation

◆ Base

enum class vanetza::geonet::Lifetime::Base
strong

Definition at line 21 of file lifetime.hpp.

Constructor & Destructor Documentation

◆ Lifetime() [1/2]

vanetza::geonet::Lifetime::Lifetime ( )

Definition at line 17 of file lifetime.cpp.

◆ Lifetime() [2/2]

vanetza::geonet::Lifetime::Lifetime ( Base  base,
BitNumber< uint8_t, 6 >  multiplier 
)

Definition at line 22 of file lifetime.cpp.

Member Function Documentation

◆ decode()

units::Duration vanetza::geonet::Lifetime::decode ( ) const

Decodes stored lifetime

Returns
lifetime as duration quantity

Definition at line 59 of file lifetime.cpp.

◆ encode()

void vanetza::geonet::Lifetime::encode ( units::Duration  duration)

Encode duration in lifetime object

Note
Precision loss might occur
Parameters
durationLifetime duration

Definition at line 45 of file lifetime.cpp.

◆ operator<()

bool vanetza::geonet::Lifetime::operator< ( const Lifetime other) const

Definition at line 32 of file lifetime.cpp.

◆ operator==()

bool vanetza::geonet::Lifetime::operator== ( const Lifetime other) const

Definition at line 37 of file lifetime.cpp.

◆ raw() [1/2]

uint8_t vanetza::geonet::Lifetime::raw ( ) const
inline

Definition at line 33 of file lifetime.hpp.

◆ raw() [2/2]

void vanetza::geonet::Lifetime::raw ( uint8_t  raw)
inline

Definition at line 34 of file lifetime.hpp.

◆ set()

void vanetza::geonet::Lifetime::set ( Base  base,
BitNumber< uint8_t, 6 >  multiplier 
)

Definition at line 27 of file lifetime.cpp.

◆ zero()

const Lifetime vanetza::geonet::Lifetime::zero ( )
static

Definition at line 12 of file lifetime.cpp.

Member Data Documentation

◆ base_mask

constexpr uint8_t vanetza::geonet::Lifetime::base_mask = 0x03
staticconstexpr

Definition at line 19 of file lifetime.hpp.

◆ m_lifetime

uint8_t vanetza::geonet::Lifetime::m_lifetime
private

Definition at line 53 of file lifetime.hpp.

◆ multiplier_mask

constexpr uint8_t vanetza::geonet::Lifetime::multiplier_mask = 0xFC
staticconstexpr

Definition at line 18 of file lifetime.hpp.


The documentation for this class was generated from the following files: