about summary refs log tree commit diff stats
path: root/verbly/adverb.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
commit8b1333d0e6e2b9a5014bdbff2987d899f5413fee (patch)
treeab5c864b61cab267ad3118e8cbe637c151448aa5 /verbly/adverb.h
parent3aceae8ab1eb5992110ea57a9479bbc3177feb21 (diff)
downloadfurries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.tar.gz
furries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.tar.bz2
furries-8b1333d0e6e2b9a5014bdbff2987d899f5413fee.zip
Added word derivational relationships (kind of eh at the moment) and moved verbly into its own directory
Diffstat (limited to 'verbly/adverb.h')
-rw-r--r--verbly/adverb.h82
1 files changed, 0 insertions, 82 deletions
diff --git a/verbly/adverb.h b/verbly/adverb.h deleted file mode 100644 index 42c3492..0000000 --- a/verbly/adverb.h +++ /dev/null
@@ -1,82 +0,0 @@
1#ifndef ADVERB_H_86F8302F
2#define ADVERB_H_86F8302F
3
4namespace verbly {
5
6 class adverb : public word {
7 private:
8 std::string _base_form;
9 std::string _comparative_form;
10 std::string _superlative_form;
11
12 friend class adverb_query;
13
14 public:
15 adverb(const data& _data, int _id);
16
17 std::string base_form() const;
18 std::string comparative_form() const;
19 std::string superlative_form() const;
20
21 bool has_comparative_form() const;
22 bool has_superlative_form() const;
23
24 adverb_query antonyms() const;
25 adverb_query synonyms() const;
26 adjective_query anti_mannernyms() const;
27 };
28
29 class adverb_query {
30 public:
31 adverb_query(const data& _data);
32
33 adverb_query& limit(int _limit);
34 adverb_query& random(bool _random);
35 adverb_query& except(const adverb& _word);
36 adverb_query& rhymes_with(const word& _word);
37 adverb_query& has_pronunciation(bool _has_prn);
38
39 adverb_query& requires_comparative_form(bool _arg);
40 adverb_query& requires_superlative_form(bool _arg);
41
42 adverb_query& has_antonyms(bool _arg);
43 adverb_query& antonym_of(const adverb& _adv);
44 adverb_query& not_antonym_of(const adverb& _adv);
45
46 adverb_query& has_synonyms(bool _arg);
47 adverb_query& synonym_of(const adverb& _adv);
48 adverb_query& not_synonym_of(const adverb& _adv);
49
50 adverb_query& is_mannernymic(bool _arg);
51 adverb_query& mannernym_of(const adjective& _adj);
52
53 std::list<adverb> run() const;
54
55 const static int unlimited = -1;
56
57 private:
58 const data& _data;
59 int _limit = unlimited;
60 bool _random = false;
61 std::list<std::string> _rhymes;
62 std::list<adverb> _except;
63 bool _has_prn = false;
64
65 bool _requires_comparative_form = false;
66 bool _requires_superlative_form = false;
67
68 bool _has_antonyms = false;
69 std::list<adverb> _antonym_of;
70 std::list<adverb> _not_antonym_of;
71
72 bool _has_synonyms = false;
73 std::list<adverb> _synonym_of;
74 std::list<adverb> _not_synonym_of;
75
76 bool _is_mannernymic = false;
77 std::list<adjective> _mannernym_of;
78 };
79
80};
81
82#endif /* end of include guard: ADVERB_H_86F8302F */