4
4
#include " result.hpp"
5
5
#include " rules.hpp"
6
6
7
+ #include < percy/variant.hpp>
8
+
7
9
#include < string_view>
8
10
#include < tuple>
9
- #include < variant>
10
11
#include < vector>
11
12
12
13
namespace percy {
@@ -178,7 +179,7 @@ struct parser<either<Rule, AlternativeRule, AlternativeRules...>> {
178
179
179
180
template <typename Rule>
180
181
struct parser <one_of<Rule>> {
181
- using result_type = result<std ::variant<result_value_t <parser_result_t <Rule>>>>;
182
+ using result_type = result<percy ::variant<result_value_t <parser_result_t <Rule>>>>;
182
183
183
184
template <typename Input>
184
185
constexpr static result_type parse (Input input) {
@@ -197,17 +198,17 @@ struct parser<one_of<Rule>> {
197
198
template <typename Rule, typename AlternativeRule, typename ... AlternativeRules>
198
199
struct parser <one_of<Rule, AlternativeRule, AlternativeRules...>> {
199
200
// clang-format off
200
- using result_type = result<std ::variant<result_value_t <parser_result_t <Rule>>,
201
- result_value_t <parser_result_t <AlternativeRule>>,
202
- result_value_t <parser_result_t <AlternativeRules>>...>>;
201
+ using result_type = result<percy ::variant<result_value_t <parser_result_t <Rule>>,
202
+ result_value_t <parser_result_t <AlternativeRule>>,
203
+ result_value_t <parser_result_t <AlternativeRules>>...>>;
203
204
// clang-format on
204
205
205
206
template <typename Input>
206
207
constexpr static result_type parse (Input input) {
207
208
using variant_type = result_value_t <result_type>;
208
209
209
210
auto cast_variant = [](auto small_variant) {
210
- return std ::visit ([](auto item) { return variant_type (item); }, small_variant);
211
+ return percy ::visit ([](auto item) { return variant_type (item); }, small_variant);
211
212
};
212
213
213
214
auto result = parser<one_of<Rule>>::parse (input);
0 commit comments