Spicy
spicy
toolchain
include
ast
engine.h
1
// Copyright (c) 2020-2021 by the Zeek Project. See LICENSE for details.
2
3
#pragma once
4
5
#include <hilti/base/util.h>
6
7
namespace
spicy
{
8
10
enum class
Engine {
11
Parser,
12
Composer,
13
All
14
};
15
16
namespace
detail {
17
constexpr
hilti::util::enum_::Value<Engine>
engines[] = {
18
{Engine::Parser,
"parser"
},
19
{Engine::Composer,
"composer"
},
20
{Engine::All,
"parser/composer"
},
21
};
22
}
// namespace detail
23
24
constexpr
auto
to_string(Engine f) {
return
hilti::util::enum_::to_string(f, detail::engines); }
25
26
namespace
engine {
27
constexpr
auto
from_string(
const
std::string_view& s) {
28
return
hilti::util::enum_::from_string<Engine>(s, detail::engines);
29
}
30
}
// namespace engine
31
32
}
// namespace spicy
hilti::util::enum_::Value
Definition:
util.h:637
spicy
Generated by
1.8.13