Bifrost SDK
Bifrost SDK documentation
Amino::MessageClass Class Referencefinal

The "class" of the message. More...

#include <Message.h>

Public Member Functions

AMINO_CORE_SHARED_DECL MessageClass ()
 Default constructor (default message class). More...
 
constexpr MessageClass (StringLiteral literal) noexcept
 Constructor from a string literal. More...
 
StringView getName () const
 Returns the name of the message class. More...
 
AMINO_CORE_SHARED_DECL bool isDefault () const
 Returns true if this is the default message class or not. More...
 
bool operator== (MessageClass const &o) const
 Equality operator. More...
 
bool operator!= (MessageClass const &o) const
 Inequality operator. More...
 

Detailed Description

The "class" of the message.

The message class allows for an open-ended set of message classes. Users may define their own message classes by defining message class literals in their .cpp files. Then the message class can be used to filter messages. The important point is that the literal must be defined only once in a library since their data address is what's used as their unique identifier.

Possible usage example:

In the .cpp file:

namespace {
using namespace Amino::StringViewLiterals;
constexpr MessageClass s_MyLibMessageClass{"MyLib"_asv};
}
namespace MyLib {
MessageClass getMessageClass() { return s_MyLibMessageClass; }
} // namespace MyLib
The "class" of the message.
Definition: Message.h:83

In the .h file:

namespace MyLib {
MessageClass getMessageClass();
} // namespace MyLib
Forward declarations for task observer classes.

Definition at line 83 of file Message.h.

Constructor & Destructor Documentation

◆ MessageClass() [1/2]

AMINO_CORE_SHARED_DECL Amino::MessageClass::MessageClass ( )

Default constructor (default message class).

◆ MessageClass() [2/2]

constexpr Amino::MessageClass::MessageClass ( StringLiteral  literal)
inlineconstexprnoexcept

Constructor from a string literal.

Definition at line 90 of file Message.h.

Member Function Documentation

◆ getName()

StringView Amino::MessageClass::getName ( ) const
inline

Returns the name of the message class.

Definition at line 94 of file Message.h.

◆ isDefault()

AMINO_CORE_SHARED_DECL bool Amino::MessageClass::isDefault ( ) const

Returns true if this is the default message class or not.

◆ operator!=()

bool Amino::MessageClass::operator!= ( MessageClass const &  o) const
inline

Inequality operator.

Definition at line 106 of file Message.h.

References operator==().

◆ operator==()

bool Amino::MessageClass::operator== ( MessageClass const &  o) const
inline

Equality operator.

Definition at line 100 of file Message.h.

References Amino::StringView::data().

Referenced by operator!=().