diff options
Diffstat (limited to 'lib/verb_query.h')
-rw-r--r-- | lib/verb_query.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/verb_query.h b/lib/verb_query.h new file mode 100644 index 0000000..24f5732 --- /dev/null +++ b/lib/verb_query.h | |||
@@ -0,0 +1,34 @@ | |||
1 | #ifndef VERB_QUERY_H_34E5A679 | ||
2 | #define VERB_QUERY_H_34E5A679 | ||
3 | |||
4 | namespace verbly { | ||
5 | |||
6 | class verb_query { | ||
7 | public: | ||
8 | verb_query(const data& _data); | ||
9 | |||
10 | verb_query& limit(int _limit); | ||
11 | verb_query& random(); | ||
12 | verb_query& except(const verb& _word); | ||
13 | verb_query& rhymes_with(const word& _word); | ||
14 | verb_query& has_pronunciation(); | ||
15 | |||
16 | verb_query& has_frames(); | ||
17 | |||
18 | std::list<verb> run() const; | ||
19 | |||
20 | const static int unlimited = -1; | ||
21 | |||
22 | private: | ||
23 | const data& _data; | ||
24 | int _limit = unlimited; | ||
25 | bool _random = false; | ||
26 | std::list<std::string> _rhymes; | ||
27 | std::list<verb> _except; | ||
28 | bool _has_prn = false; | ||
29 | bool _has_frames = false; | ||
30 | }; | ||
31 | |||
32 | }; | ||
33 | |||
34 | #endif /* end of include guard: VERB_QUERY_H_34E5A679 */ | ||