diff options
Diffstat (limited to 'lib/adverb_query.h')
-rw-r--r-- | lib/adverb_query.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/adverb_query.h b/lib/adverb_query.h new file mode 100644 index 0000000..20f9ce5 --- /dev/null +++ b/lib/adverb_query.h | |||
@@ -0,0 +1,65 @@ | |||
1 | #ifndef ADVERB_QUERY_H_CA13CCDD | ||
2 | #define ADVERB_QUERY_H_CA13CCDD | ||
3 | |||
4 | namespace verbly { | ||
5 | |||
6 | class adverb_query { | ||
7 | public: | ||
8 | adverb_query(const data& _data); | ||
9 | |||
10 | adverb_query& limit(int _limit); | ||
11 | adverb_query& random(); | ||
12 | adverb_query& except(const adverb& _word); | ||
13 | adverb_query& rhymes_with(const word& _word); | ||
14 | adverb_query& has_pronunciation(); | ||
15 | |||
16 | adverb_query& requires_comparative_form(); | ||
17 | adverb_query& requires_superlative_form(); | ||
18 | |||
19 | adverb_query& has_antonyms(); | ||
20 | adverb_query& antonym_of(filter<adverb> _f); | ||
21 | |||
22 | adverb_query& has_synonyms(); | ||
23 | adverb_query& synonym_of(filter<adverb> _f); | ||
24 | |||
25 | adverb_query& is_mannernymic(); | ||
26 | adverb_query& mannernym_of(filter<adjective> _f); | ||
27 | |||
28 | /* adverb_query& derived_from(const word& _w); | ||
29 | adverb_query& not_derived_from(const word& _w);*/ | ||
30 | |||
31 | std::list<adverb> run() const; | ||
32 | |||
33 | const static int unlimited = -1; | ||
34 | |||
35 | private: | ||
36 | const data& _data; | ||
37 | int _limit = unlimited; | ||
38 | bool _random = false; | ||
39 | std::list<std::string> _rhymes; | ||
40 | std::list<adverb> _except; | ||
41 | bool _has_prn = false; | ||
42 | |||
43 | bool _requires_comparative_form = false; | ||
44 | bool _requires_superlative_form = false; | ||
45 | |||
46 | bool _has_antonyms = false; | ||
47 | filter<adverb> _antonym_of; | ||
48 | |||
49 | bool _has_synonyms = false; | ||
50 | filter<adverb> _synonym_of; | ||
51 | |||
52 | bool _is_mannernymic = false; | ||
53 | filter<adjective> _mannernym_of; | ||
54 | |||
55 | /* std::list<adjective> _derived_from_adjective; | ||
56 | std::list<adjective> _not_derived_from_adjective; | ||
57 | std::list<adverb> _derived_from_adverb; | ||
58 | std::list<adverb> _not_derived_from_adverb; | ||
59 | std::list<noun> _derived_from_noun; | ||
60 | std::list<noun> _not_derived_from_noun;*/ | ||
61 | }; | ||
62 | |||
63 | }; | ||
64 | |||
65 | #endif /* end of include guard: ADVERB_QUERY_H_CA13CCDD */ | ||