libcluon  0.0.148
cluon::MetaMessage Class Reference

#include <MetaMessage.hpp>

Classes

class  MetaField
 

Public Member Functions

 MetaMessage () noexcept
 
 MetaMessage (const MetaMessage &)=default
 
 MetaMessage (MetaMessage &&)=default
 
MetaMessageoperator= (const MetaMessage &)=default
 
MetaMessageoperator= (MetaMessage &&)=default
 
MetaMessageadd (MetaField &&mf) noexcept
 
const std::vector< MetaField > & listOfMetaFields () const noexcept
 
void accept (const std::function< void(const MetaMessage &)> &visit)
 
std::string packageName () const noexcept
 
MetaMessagepackageName (const std::string &v) noexcept
 
std::string messageName () const noexcept
 
MetaMessagemessageName (const std::string &v) noexcept
 
int32_t messageIdentifier () const noexcept
 
MetaMessagemessageIdentifier (int32_t v) noexcept
 

Detailed Description

This class provides a generic description for a message. It is internally used during the processing of message specifications to generate targets like C++ or .proto files.

Constructor & Destructor Documentation

◆ MetaMessage() [1/3]

cluon::MetaMessage::MetaMessage ( )
noexcept

◆ MetaMessage() [2/3]

cluon::MetaMessage::MetaMessage ( const MetaMessage )
default

◆ MetaMessage() [3/3]

cluon::MetaMessage::MetaMessage ( MetaMessage &&  )
default

Member Function Documentation

◆ accept()

void cluon::MetaMessage::accept ( const std::function< void(const MetaMessage &)> &  visit)

This method can be used to visit this instance and propagate information details about the contained fields.

Parameters
visitstd::function object to be called to visit this MetaMessage.

◆ add()

MetaMessage & cluon::MetaMessage::add ( MetaMessage::MetaField &&  mf)
noexcept

This method adds a metafield to this meta message.

Parameters
mfMeta field to be added.
Returns
Reference to this instance.

References mf.

◆ listOfMetaFields()

const std::vector< MetaMessage::MetaField > & cluon::MetaMessage::listOfMetaFields ( ) const
noexcept

This method returns a vector of current meta fields.

Returns
Meta fields from this meta message.

Referenced by cluon::GenericMessage::createFrom().

◆ messageIdentifier() [1/2]

int32_t cluon::MetaMessage::messageIdentifier ( ) const
noexcept
Returns
Message identifier.

Referenced by cluon::GenericMessage::ID(), and cluon::MessageParser::parse().

◆ messageIdentifier() [2/2]

MetaMessage & cluon::MetaMessage::messageIdentifier ( int32_t  v)
noexcept

This method sets the message identifier.

Parameters
vMessage identifier for this message.
Returns
Reference to this instance.

◆ messageName() [1/2]

std::string cluon::MetaMessage::messageName ( ) const
noexcept

◆ messageName() [2/2]

MetaMessage & cluon::MetaMessage::messageName ( const std::string &  v)
noexcept

This method sets the message name.

Parameters
vMessage name for this message.
Returns
Reference to this instance.

◆ operator=() [1/2]

MetaMessage& cluon::MetaMessage::operator= ( const MetaMessage )
default

◆ operator=() [2/2]

MetaMessage& cluon::MetaMessage::operator= ( MetaMessage &&  )
default

◆ packageName() [1/2]

std::string cluon::MetaMessage::packageName ( ) const
noexcept
Returns
Package name.

Referenced by cluon::GenericMessage::LongName(), and cluon::MessageParser::parse().

◆ packageName() [2/2]

MetaMessage & cluon::MetaMessage::packageName ( const std::string &  v)
noexcept

This method sets the package name.

Parameters
vPackage name for this message.
Returns
Reference to this instance.