summary refs log tree commit diff stats
path: root/lib/noun.h
blob: 77601d0f82be832ffa1b5576330e4444fc2a6665 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef NOUN_H_24A03C83
#define NOUN_H_24A03C83

namespace verbly {
  
  class noun : public word {
    private:
      std::string _singular;
      std::string _plural;
      
      friend class noun_query;
      
    public:
      noun();
      noun(const data& _data, int _id);
      
      std::string base_form() const;
      std::string singular_form() const;
      std::string plural_form() const;
      
      bool has_plural_form() const;
      
      noun_query hypernyms() const;
      noun_query full_hypernyms() const;
      noun_query hyponyms() const;
      noun_query full_hyponyms() const;
      noun_query part_meronyms() const;
      noun_query part_holonyms() const;
      noun_query substance_meronyms() const;
      noun_query substance_holonyms() const;
      noun_query member_meronyms() const;
      noun_query member_holonyms() const;
      noun_query classes() const;
      noun_query instances() const;
      noun_query synonyms() const;
      noun_query antonyms() const;
      adjective_query pertainyms() const;
      adjective_query variations() const;
      
      bool operator<(const noun& other) const;
  };
  
};

#endif /* end of include guard: NOUN_H_24A03C83 */