libzypp  11.13.5
Dep.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_DEP_H
13 #define ZYPP_DEP_H
14 
15 #include <iosfwd>
16 #include <string>
17 
19 namespace zypp
20 {
21 
23  //
24  // CLASS NAME : Dep
25  //
29  struct Dep
30  {
31  friend bool operator==( const Dep & lhs, const Dep & rhs );
32  friend bool operator!=( const Dep & lhs, const Dep & rhs );
34  friend bool operator<( const Dep & lhs, const Dep & rhs );
35 
42  static const Dep PROVIDES;
43  static const Dep PREREQUIRES;
44  static const Dep REQUIRES;
45  static const Dep CONFLICTS;
46  static const Dep OBSOLETES;
47  static const Dep RECOMMENDS;
48  static const Dep SUGGESTS;
49  static const Dep ENHANCES;
50  static const Dep SUPPLEMENTS;
52 
66  };
67 
75  explicit
76  Dep( const std::string & strval_r );
77 
81  const std::string & asString() const;
82 
85  { return _type; }
86 
87  private:
90  : _type( type_r )
91  {}
94  };
96 
98  inline std::ostream & operator<<( std::ostream & str, const Dep & obj )
99  { return str << obj.asString(); }
100 
102 
104  inline bool operator==( const Dep & lhs, const Dep & rhs )
105  { return lhs._type == rhs._type; }
106 
108  inline bool operator!=( const Dep & lhs, const Dep & rhs )
109  { return lhs._type != rhs._type; }
110 
112  inline bool operator<( const Dep & lhs, const Dep & rhs )
113  { return lhs._type < rhs._type; }
114 
116 } // namespace zypp
118 #endif // ZYPP_DEP_H