MCPcopy Create free account
hub / github.com/Tencent/rapidjson / FilterKeyReader

Class FilterKeyReader

example/filterkeydom/filterkeydom.cpp:111–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109// Implements a generator for Document::Populate()
110template <typename InputStream>
111class FilterKeyReader {
112public:
113 typedef char Ch;
114
115 FilterKeyReader(InputStream& is, const Ch* keyString, SizeType keyLength) :
116 is_(is), keyString_(keyString), keyLength_(keyLength), parseResult_()
117 {}
118
119 // SAX event flow: reader -> filter -> handler
120 template <typename Handler>
121 bool operator()(Handler& handler) {
122 FilterKeyHandler<Handler> filter(handler, keyString_, keyLength_);
123 Reader reader;
124 parseResult_ = reader.Parse(is_, filter);
125 return parseResult_;
126 }
127
128 const ParseResult& GetParseResult() const { return parseResult_; }
129
130private:
131 FilterKeyReader(const FilterKeyReader&);
132 FilterKeyReader& operator=(const FilterKeyReader&);
133
134 InputStream& is_;
135 const char* keyString_;
136 const SizeType keyLength_;
137 ParseResult parseResult_;
138};
139
140int main(int argc, char* argv[]) {
141 if (argc != 2) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected