MessageSpec< TTableType, tInterfaceType, tInterfaceId > Struct Template Reference

Space-ng SDK: sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId > Struct Template Reference
Space-ng SDK
sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId > Struct Template Reference

Compile time message type and id specification. More...

#include <sol3/core/message_spec.h>

Public Types

using TableType = TTableType
 Payload flatbuffer table type. More...
 
using NativeTableType = typename TableType::NativeTableType
 Payload flatbuffer native table type (object api) More...
 

Static Public Member Functions

static MessagePort makeMessagePort (uint32_t component_id)
 Construct a MessagePort from a component id. More...
 

Static Public Attributes

static constexpr msg::InterfaceType kInterfaceType = tInterfaceType
 
static constexpr uint32_t kInterfaceId = tInterfaceId
 
static constexpr uint32_t kPayloadType
 

Detailed Description

template<typename TTableType, msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
struct sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >

Compile time message type and id specification.

Member Typedef Documentation

◆ NativeTableType

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
using sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::NativeTableType = typename TableType::NativeTableType

Payload flatbuffer native table type (object api)

◆ TableType

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
using sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::TableType = TTableType

Payload flatbuffer table type.

Member Function Documentation

◆ makeMessagePort()

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
static MessagePort sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::makeMessagePort ( uint32_t  component_id)
inlinestatic

Construct a MessagePort from a component id.

Member Data Documentation

◆ kInterfaceId

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
constexpr uint32_t sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::kInterfaceId = tInterfaceId
staticconstexpr

The interface id, which is locally unique to the component for this interface type. Typically starting at 0, input 0, input 1, input 2...

◆ kInterfaceType

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
constexpr msg::InterfaceType sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::kInterfaceType = tInterfaceType
staticconstexpr

The interface type of the port from the perspective of the component. Is it semantically an input, output, configuration or status message?

◆ kPayloadType

template<typename TTableType , msg::InterfaceType tInterfaceType, uint32_t tInterfaceId>
constexpr uint32_t sol3::core::MessageSpec< TTableType, tInterfaceType, tInterfaceId >::kPayloadType
staticconstexpr
Initial value:
=
makeFileIdentifier<NativeTableType>()

The payload type identifier, typically derived from a Flatbuffer file_identifier 4 character string.


The documentation for this struct was generated from the following file: