summary refs log tree commit diff stats
path: root/lib/verb_query.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/verb_query.h')
-rw-r--r--lib/verb_query.h34
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
4namespace 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 */