13 #include <rapidjson/document.h>
26 rapidjson::Value *
findNode(rapidjson::Value& root);
30 virtual rapidjson::Value *match(rapidjson::Value *node) = 0;
32 class LiteralPathComponent :
public PathComponent {
34 LiteralPathComponent(std::string& name);
35 rapidjson::Value *match(rapidjson::Value *node);
39 class IndexPathComponent :
public PathComponent {
41 IndexPathComponent(std::string& name,
int index);
42 rapidjson::Value *match(rapidjson::Value *node);
47 class MatchPathComponent :
public PathComponent {
49 MatchPathComponent(std::string& name, std::string& property, std::string& value);
50 rapidjson::Value *match(rapidjson::Value *node);
53 std::string m_property;
58 std::vector<PathComponent *>