COMMS
Template library intended to help with implementation of communication protocols.
Classes | Enumerations | Functions
comms::field Namespace Reference

Namespace that contains definitions of all message fields. More...

Detailed Description

Namespace that contains definitions of all message fields.

Classes

class  ArrayList
 Field that represents a sequential collection of fields. More...
 
class  Bitfield
 Bitfield field. More...
 
class  BitmaskValue
 Bitmask value field. More...
 
class  Bundle
 Bundles multiple fields into a single field. More...
 
class  EnumValue
 Enumerator value field. More...
 
class  FloatValue
 Field that represent floating point value. More...
 
class  IntValue
 Field that represent integral value. More...
 
class  Optional
 Adaptor class to any other field, that makes the field optional. More...
 
class  String
 Field that represents a string. More...
 
class  Variant
 Defines a "variant" field, that can contain any of the provided ones. More...
 

Enumerations

enum class  OptionalMode { Tentative , Exists , Missing , NumOfModes }
 Mode to be used by comms::field::Optional. More...
 

Functions

template<typename TFieldBase , typename TMembers , typename... TOptions>
Bundle< TFieldBase, TMembers, TOptions... > & toFieldBase (Bundle< TFieldBase, TMembers, TOptions... > &field)
 Upcast type of the field definition to its parent comms::field::Bundle type in order to have access to its internal types.
 
template<typename TFieldBase , typename TMembers , typename... TOptions>
const Bundle< TFieldBase, TMembers, TOptions... > & toFieldBase (const Bundle< TFieldBase, TMembers, TOptions... > &field)
 Upcast type of the field definition to its parent comms::field::Bundle type in order to have access to its internal types.
 

Enumeration Type Documentation

◆ OptionalMode

Mode to be used by comms::field::Optional.

Enumerator
Tentative 

The field existence is tentative, i.e. If there is enough bytes to read the field's value, than field exists, if not then it doesn't exist.

Exists 

Field must exist.

Missing 

Field doesn't exist.

NumOfModes 

Number of possible modes, must be last.