MRPT  2.0.4
Classes | Namespaces | Macros
gnss_messages_common.h File Reference
#include <mrpt/obs/gnss_messages_type_list.h>
#include <mrpt/serialization/CArchive.h>
#include <mrpt/system/datetime.h>
#include <cstring>
#include <iosfwd>
Include dependency graph for gnss_messages_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mrpt::obs::gnss::gnss_message
 Pure virtual base for all message types. More...
 
struct  mrpt::obs::gnss::gnss_message_ptr
 A smart pointer to a GNSS message. More...
 
struct  mrpt::obs::gnss::UTC_time
 UTC (Coordinated Universal Time) time-stamp structure for GPS messages. More...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::obs
 This namespace contains representation of robot actions and observations.
 
 mrpt::obs::gnss
 GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
 

Macros

#define GNSS_MESSAGE_BINARY_BLOCK(DATA_PTR, DATA_LEN)
 
#define GNSS_BINARY_MSG_DEFINITION_START(_MSG_ID)
 
#define GNSS_BINARY_MSG_DEFINITION_MID
 
#define GNSS_BINARY_MSG_DEFINITION_MID_END
 
#define GNSS_BINARY_MSG_DEFINITION_END
 

Macro Definition Documentation

◆ GNSS_BINARY_MSG_DEFINITION_END

#define GNSS_BINARY_MSG_DEFINITION_END
Value:
GNSS_BINARY_MSG_DEFINITION_MID \
GNSS_BINARY_MSG_DEFINITION_MID_END

Definition at line 180 of file gnss_messages_common.h.

◆ GNSS_BINARY_MSG_DEFINITION_MID

#define GNSS_BINARY_MSG_DEFINITION_MID
Value:
content_t() = default; \
} \
; \
content_t fields; /** Message content, accesible by individual fields */ \
void dumpToStream(std::ostream& out) const override;
mrpt::vision::TStereoCalibResults out

Definition at line 169 of file gnss_messages_common.h.

◆ GNSS_BINARY_MSG_DEFINITION_MID_END

#define GNSS_BINARY_MSG_DEFINITION_MID_END
Value:
} \
;

Definition at line 176 of file gnss_messages_common.h.

◆ GNSS_BINARY_MSG_DEFINITION_START

#define GNSS_BINARY_MSG_DEFINITION_START (   _MSG_ID)
Value:
struct Message_##_MSG_ID : public gnss_message \
{ \
GNSS_MESSAGE_BINARY_BLOCK(&fields, sizeof(fields)) \
enum : uint32_t \
{ \
msg_type = _MSG_ID \
}; /* Static msg type (member expected by templates)*/ \
Message_##_MSG_ID() \
: gnss_message(static_cast<gnss_message_type_t>(msg_type)) \
{ \
} \
struct content_t \
{

Definition at line 155 of file gnss_messages_common.h.

◆ GNSS_MESSAGE_BINARY_BLOCK

#define GNSS_MESSAGE_BINARY_BLOCK (   DATA_PTR,
  DATA_LEN 
)
Value:
protected: \
void internal_writeToStream(mrpt::serialization::CArchive& out) \
const override \
{ \
out.WriteAs<uint32_t>(DATA_LEN); \
auto nonconst_this = const_cast<std::remove_const< \
std::remove_reference<decltype(*this)>::type>::type*>(this); \
/* Temporarily switch to little endian for serialization only */ \
nonconst_this->fixEndianness(); \
out.WriteBuffer(DATA_PTR, DATA_LEN); \
nonconst_this->fixEndianness(); \
} \
void internal_readFromStream(mrpt::serialization::CArchive& in) override \
{ \
const uint32_t nBytesInStream = in.ReadAs<uint32_t>(); \
ASSERT_EQUAL_(nBytesInStream, DATA_LEN); \
in.ReadBuffer(DATA_PTR, DATA_LEN); \
fixEndianness(); \
} \
\
public:
Virtual base class for "archives": classes abstracting I/O streams.
Definition: CArchive.h:54
mrpt::vision::TStereoCalibResults out

Definition at line 132 of file gnss_messages_common.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020