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
Range.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_RANGE_H
13
#define ZYPP_RANGE_H
14
15
#include "
zypp/RelCompare.h
"
16
18
namespace
zypp
19
{
20
21
namespace
range_detail
22
{
23
bool
overlaps
( Rel lhs, Rel rhs,
int
cmp );
24
}
25
27
//
28
// CLASS NAME : Range
29
//
33
template
<
class
_Tp,
class
_Compare = Compare<_Tp> >
34
struct
Range
35
{
37
Rel
op
;
39
_Tp
value
;
40
42
Range
()
43
:
op
(
Rel
::ANY )
44
{}
45
47
Range
(
const
_Tp & value_r )
48
:
op
(
Rel
::EQ )
49
,
value
( value_r )
50
{}
51
53
Range
(
Rel
op_r,
const
_Tp & value_r )
54
:
op
( op_r )
55
,
value
( value_r )
56
{}
57
59
bool
overlaps
(
const
Range
& rhs )
const
60
{
61
return
range_detail::overlaps
(
op
, rhs.
op
,
62
_Compare()(
value
, rhs.
value
) );
63
}
64
};
66
67
template
<
class
_Tp,
class
_Compare>
68
inline
bool
overlaps
(
const
Range<_Tp,_Compare>
& lhs,
69
const
Range<_Tp,_Compare>
& rhs )
70
{
return
lhs.
overlaps
( rhs ); }
71
73
74
template
<
class
_Tp,
class
_Compare>
75
inline
bool
operator==
(
const
Range<_Tp,_Compare>
& lhs,
76
const
Range<_Tp,_Compare>
& rhs )
77
{
78
return
( lhs.
op
== rhs.
op
79
&& ( lhs.
op
==
Rel::ANY
80
|| lhs.
op
==
Rel::NONE
81
|| relCompare(
Rel::EQ
, lhs.
value
, rhs.
value
,
82
_Compare() )
83
)
84
);
85
}
86
87
template
<
class
_Tp,
class
_Compare>
88
inline
bool
operator!=
(
const
Range<_Tp,_Compare>
& lhs,
89
const
Range<_Tp,_Compare>
& rhs )
90
{
return
! ( lhs == rhs ); }
91
93
}
// namespace zypp
95
#endif // ZYPP_RANGE_H
zypp
Range.h
Generated by
1.8.1