1#ifndef LINTEL_MESSAGEQUEUES_H
2#define LINTEL_MESSAGEQUEUES_H
4#include <magic_enum/magic_enum.hpp>
37 operator Value()
const {
return m_value; }
39 explicit operator bool() =
delete;
44 auto values = magic_enum::enum_values<Value>();
49 std::string
toString()
const {
return std::string(magic_enum::enum_name<>(m_value)); }
57 if (m_value ==
Value::UNDEFINED) {
throw std::runtime_error(
"Message Queue undefined => no name available"); }
58 return m_valueToQueueName.at(m_value);
68 inline static std::map<Value, std::string> m_valueToQueueName = { {
Value::HISTORY,
"history" } };
Definition MessageQueues.h:14
std::string toString() const
Definition MessageQueues.h:49
constexpr MessageQueues(std::string_view enumName)
Definition MessageQueues.h:32
Value
Definition MessageQueues.h:17
@ HISTORY
Definition MessageQueues.h:19
@ UNDEFINED
Definition MessageQueues.h:18
friend std::ostream & operator<<(std::ostream &os, const MessageQueues &connectionType)
Definition MessageQueues.h:61
std::string getMessageQueueName() const
Definition MessageQueues.h:55
constexpr MessageQueues(Value value)
Definition MessageQueues.h:26
static std::set< Value > values()
Definition MessageQueues.h:42
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9