Line data Source code
1 : #pragma once
2 :
3 : #include "imatcher.hpp"
4 : #include <list>
5 :
6 : namespace wfc{ namespace jsonrpc{
7 :
8 : struct ibuilder;
9 :
10 18 : class variant_match
11 : : public imatcher
12 : {
13 : public:
14 : explicit variant_match( const std::shared_ptr<ibuilder>& builder );
15 : virtual bool configure(const char* beg, const char* end, json::json_error& err) override;
16 : virtual bool match(const char* beg, const char* end, json::json_error& err) override;
17 : private:
18 : typedef std::shared_ptr<imatcher> matcher_ptr;
19 : typedef std::list<matcher_ptr> matcher_list;
20 : std::shared_ptr<ibuilder> _builder;
21 : matcher_list _matchers;
22 : };
23 :
24 : }}
|