libzypp 17.37.17
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
19namespace zypp
20{
21
23 //
24 // CLASS NAME : Dep
25 //
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 ZYPP_API;
43 static const Dep PREREQUIRES ZYPP_API;
44 static const Dep REQUIRES ZYPP_API;
45 static const Dep CONFLICTS ZYPP_API;
46 static const Dep OBSOLETES ZYPP_API;
47 static const Dep RECOMMENDS ZYPP_API;
48 static const Dep SUGGESTS ZYPP_API;
49 static const Dep ENHANCES ZYPP_API;
50 static const Dep SUPPLEMENTS ZYPP_API;
52
67
75 explicit
76 Dep( const std::string & strval_r );
77
81 const std::string & asString() const ZYPP_API;
82
86 std::string asUserString() const ZYPP_API;
87
90 { return _type; }
91
92 private:
95 : _type( type_r )
96 {}
97
99 };
100
101
103 inline std::ostream & operator<<( std::ostream & str, const Dep & obj )
104 { return str << obj.asString(); }
105
107
109 inline bool operator==( const Dep & lhs, const Dep & rhs )
110 { return lhs._type == rhs._type; }
111
113 inline bool operator!=( const Dep & lhs, const Dep & rhs )
114 { return lhs._type != rhs._type; }
115
117 inline bool operator<( const Dep & lhs, const Dep & rhs )
118 { return lhs._type < rhs._type; }
119
121} // namespace zypp
123#endif // ZYPP_DEP_H
Definition Arch.h:364
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
std::string asUserString(VendorSupportOption opt)
converts the support option to a name intended to be printed to the user.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Definition Arch.h:247
std::string asString(const Patch::Category &obj)
Definition Patch.cc:122
Enumeration class of dependency types.
Definition Dep.h:30
Dep(for_use_in_switch type_r)
Ctor to initialize the dependency type contants.
Definition Dep.h:94
static const Dep PROVIDES ZYPP_API
Definition Dep.h:42
std::ostream & operator<<(std::ostream &str, const Dep &obj)
Stream output.
Definition Dep.h:103
for_use_in_switch
Enumarators provided only for use inSwitch statement.
Definition Dep.h:56
@ SUGGESTS_e
Definition Dep.h:63
@ REQUIRES_e
Definition Dep.h:59
@ PREREQUIRES_e
Definition Dep.h:58
@ RECOMMENDS_e
Definition Dep.h:62
@ SUPPLEMENTS_e
Definition Dep.h:65
@ PROVIDES_e
Definition Dep.h:57
@ CONFLICTS_e
Definition Dep.h:60
@ ENHANCES_e
Definition Dep.h:64
@ OBSOLETES_e
Definition Dep.h:61
friend bool operator<(const Dep &lhs, const Dep &rhs)
Arbitrary order to allow Dep as key in std::container.
for_use_in_switch _type
The operator.
Definition Dep.h:98
for_use_in_switch inSwitch() const
Enumarator provided for use in switch statement.
Definition Dep.h:89
friend bool operator==(const Dep &lhs, const Dep &rhs)
const std::string & asString() const ZYPP_API
String representation of dependency type.
Definition Dep.cc:76
friend bool operator!=(const Dep &lhs, const Dep &rhs)
Dep(const std::string &strval_r)
Ctor from string.
Definition Dep.cc:67