Line data Source code
1 : #pragma once
2 :
3 : #include "ibuilder.hpp"
4 : #include "match_factory.hpp"
5 :
6 : namespace wfc{ namespace jsonrpc{
7 :
8 56 : class builder
9 : : public ibuilder
10 : , public std::enable_shared_from_this<builder>
11 : {
12 : public:
13 : explicit builder(int mode);
14 : virtual std::shared_ptr<imatcher> build_name() override;
15 : virtual std::shared_ptr<imatcher> build_value(const char* beg, const char* end, json::json_error& err) override;
16 : virtual std::shared_ptr<imatcher> build_value_nv(const char* beg, const char* end, json::json_error& err) override;
17 : private:
18 : std::shared_ptr<imatcher> build_value_(const char* beg, const char* end, json::json_error& err, bool nv);
19 : private:
20 : match_factory _factory;
21 : };
22 :
23 : }}
|