LeviLamina
Loading...
Searching...
No Matches
SoftEnum.h
1
#pragma once
2
3
#include <string>
4
#include <type_traits>
5
6
#include "ll/api/base/Concepts.h"
// IWYU pragma: keep
7
8
namespace
ll::command {
9
template
<concepts::Require<std::is_enum> T>
10
class
SoftEnum
:
public
std::string {
11
using
std::string::string;
12
};
13
template
<
class
T>
14
struct
remove_soft_enum
{
15
using
type = T;
16
};
17
template
<
class
T>
18
struct
remove_soft_enum
<
SoftEnum
<T>> {
19
using
type = T;
20
};
21
22
template
<
class
T>
23
using
remove_soft_enum_t = remove_soft_enum<T>::type;
24
25
}
// namespace ll::command
ll::command::SoftEnum
Definition
SoftEnum.h:10
ll::command::remove_soft_enum
Definition
SoftEnum.h:14
src
ll
api
command
SoftEnum.h
Generated on Sat Apr 26 2025 05:55:20 for LeviLamina by
1.12.0