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 11 : class array_match
11 : : public imatcher
12 : {
13 : typedef std::shared_ptr<imatcher> matcher_ptr;
14 : typedef std::list<matcher_ptr> matcher_list;
15 : public:
16 : explicit array_match( const std::shared_ptr<ibuilder>& builder );
17 :
18 : virtual bool configure(const char* beg, const char* end, json::json_error& err) override;
19 :
20 : virtual bool match(const char* beg, const char* end, json::json_error& err) override;
21 :
22 : private:
23 : std::shared_ptr<ibuilder> _builder;
24 : matcher_list _matchers;
25 : };
26 :
27 : }}
|