libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libzypp
Welcome to libzypp
Code Pitfalls - Frequently made mistakes
Code Snippets
Environment Variables
Testing for provided features.
Notes on revisions
Extending ZYpp: Plugins and Hooks
Services
Solver - Vendor protection
Writing and tunning testcases
Libzypp and threads
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
pool
repo
sat
solver
target
thread
ui
url
ws
zypp_detail
APIConfig.h
Arch.cc
Arch.h
AutoDispose.h
Bit.h
ByteCount.cc
ByteCount.h
Callback.h
Capabilities.cc
Capabilities.h
Capability.cc
Capability.h
CapMatch.cc
CapMatch.h
Changelog.cc
Changelog.h
CheckSum.cc
CheckSum.h
CountryCode.cc
CountryCode.h
Date.cc
Date.h
Dep.cc
Dep.h
Digest.cc
Digest.h
DiskUsage.cc
DiskUsage.h
DiskUsageCounter.cc
DiskUsageCounter.h
DownloadMode.cc
DownloadMode.h
Edition.cc
Edition.h
ExternalProgram.cc
ExternalProgram.h
Fetcher.cc
Fetcher.h
FileChecker.cc
FileChecker.h
Filter.h
Glob.cc
Glob.h
HistoryLog.cc
HistoryLog.h
HistoryLogData.cc
HistoryLogData.h
IdString.cc
IdString.h
IdStringType.h
InstanceId.cc
InstanceId.h
KeyContext.h
KeyRing.cc
KeyRing.h
KVMap.h
LanguageCode.cc
LanguageCode.h
Locale.cc
Locale.h
Locks.cc
Locks.h
ManagedFile.h
MediaProducts.cc
MediaProducts.h
MediaSetAccess.cc
MediaSetAccess.h
Misc.h
OnMediaLocation.cc
OnMediaLocation.h
Package.cc
Package.h
PackageKeyword.h
Patch.cc
Patch.h
PathInfo.cc
PathInfo.h
Pathname.cc
Pathname.h
Pattern.cc
Pattern.h
PluginFrame.cc
PluginFrame.h
PluginFrameException.cc
PluginFrameException.h
PluginScript.cc
PluginScript.h
PluginScriptException.cc
PluginScriptException.h
PoolItem.cc
PoolItem.h
PoolItemBest.cc
PoolItemBest.h
PoolQuery.cc
PoolQuery.h
PoolQueryResult.cc
PoolQueryResult.h
PoolQueryUtil.tcc
ProblemSolution.cc
ProblemSolution.h
ProblemTypes.h
Product.cc
Product.h
ProgressData.cc
ProgressData.h
ProvideFilePolicy.cc
ProvideFilePolicy.h
PublicKey.cc
PublicKey.h
Range.cc
Range.h
Rel.cc
Rel.h
RelCompare.h
RepoInfo.cc
RepoInfo.h
RepoManager.cc
RepoManager.h
Repository.cc
Repository.h
RepoStatus.cc
RepoStatus.h
ResFilters.h
ResKind.cc
ResKind.h
ResObject.cc
ResObject.h
ResObjects.h
Resolvable.cc
Resolvable.h
Resolver.cc
Resolver.h
ResolverProblem.cc
ResolverProblem.h
ResPool.cc
ResPool.h
ResPoolProxy.cc
ResPoolProxy.h
ResStatus.cc
ResStatus.h
ResTraits.h
ServiceInfo.cc
ServiceInfo.h
Signature.cc
Signature.h
SrcPackage.cc
SrcPackage.h
SysContent.cc
SysContent.h
Target.cc
Target.h
TmpPath.cc
TmpPath.h
TriBool.h
Url.cc
Url.h
Vendor.h
VendorAttr.cc
VendorAttr.h
VendorSupportOptions.cc
VendorSupportOptions.h
ZConfig.cc
ZConfig.h
ZYpp.cc
ZYpp.h
ZYppCallbacks.h
ZYppCommit.h
ZYppCommitPolicy.cc
ZYppCommitPolicy.h
ZYppCommitResult.cc
ZYppCommitResult.h
ZYppFactory.cc
ZYppFactory.h
File Members
CapMatch.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_CAPMATCH_H
13
#define ZYPP_CAPMATCH_H
14
15
#include <iosfwd>
16
18
namespace
zypp
19
{
20
22
//
23
// CLASS NAME : CapMatch
24
//
37
class
CapMatch
38
{
39
enum
Result
{
NOMATCH
,
MATCH
,
IRRELEVANT
};
40
41
public
:
42
43
CapMatch
()
44
:
_result
(
IRRELEVANT
)
45
{}
46
47
CapMatch
(
bool
val_r )
48
:
_result
( val_r ?
MATCH
:
NOMATCH
)
49
{}
50
51
static
const
CapMatch
yes
;
52
static
const
CapMatch
no
;
53
static
const
CapMatch
irrelevant
;
54
55
friend
bool
operator==
(
const
CapMatch
& lhs,
const
CapMatch
& rhs )
56
{
return
lhs.
_result
== rhs.
_result
; }
57
58
friend
bool
operator!=
(
const
CapMatch
& lhs,
const
CapMatch
& rhs )
59
{
return
lhs.
_result
!= rhs.
_result
; }
60
61
friend
CapMatch
operator!
(
const
CapMatch
& lhs )
62
{
63
if
( lhs.
_result
==
CapMatch::IRRELEVANT
)
64
return
lhs;
65
return
!(lhs.
_result
==
CapMatch::MATCH
);
66
}
67
68
friend
CapMatch
operator&&
(
const
CapMatch
& lhs,
const
CapMatch
& rhs )
69
{
70
if
( lhs.
_result
==
CapMatch::IRRELEVANT
)
71
return
rhs;
72
if
( rhs.
_result
==
CapMatch::IRRELEVANT
)
73
return
lhs;
74
return
(lhs.
_result
==
CapMatch::MATCH
)
75
&& (rhs.
_result
==
CapMatch::MATCH
);
76
}
77
78
friend
CapMatch
operator||
(
const
CapMatch
& lhs,
const
CapMatch
& rhs )
79
{
80
if
( lhs.
_result
==
CapMatch::IRRELEVANT
)
81
return
rhs;
82
if
( rhs.
_result
==
CapMatch::IRRELEVANT
)
83
return
lhs;
84
return
(lhs.
_result
==
CapMatch::MATCH
)
85
|| (rhs.
_result
==
CapMatch::MATCH
);
86
}
87
88
friend
std::ostream &
operator<<
( std::ostream & str,
const
CapMatch
& obj );
89
90
private
:
91
Result
_result
;
92
};
94
96
std::ostream &
operator<<
( std::ostream & str,
const
CapMatch
& obj );
97
99
}
// namespace zypp
101
#endif // ZYPP_CAPMATCH_H
zypp
CapMatch.h
Generated by
1.8.1