blob: b4212a5220b8979a66ea0cccbce94085f2a7235e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
#include "predicate_slime_visitor.h"
#include <vespa/vespalib/stllike/string.h>
namespace vespalib {
class Slime;
class asciistream;
}
namespace document {
class PredicatePrinter : PredicateSlimeVisitor {
std::unique_ptr<vespalib::asciistream> _out;
bool _negated;
void visitFeatureSet(const Inspector &i) override;
void visitFeatureRange(const Inspector &i) override;
void visitNegation(const Inspector &i) override;
void visitConjunction(const Inspector &i) override;
void visitDisjunction(const Inspector &i) override;
void visitTrue(const Inspector &i) override;
void visitFalse(const Inspector &i) override;
vespalib::string str() const;
PredicatePrinter();
~PredicatePrinter();
public:
static vespalib::string print(const vespalib::Slime &slime);
};
} // namespace document
|