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
IdString.cc
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#include <iostream>
13
#include <boost/mpl/int.hpp>
14
15
#include "
zypp/IdString.h
"
16
17
#include "
zypp/sat/detail/PoolImpl.h
"
18
#include "
zypp/sat/Pool.h
"
19
20
using
std::endl;
21
23
namespace
zypp
24
{
25
26
const
IdString
IdString::Null
(
sat::detail::noId
);
27
const
IdString
IdString::Empty
(
sat::detail::emptyId
);
28
30
31
IdString::IdString
(
const
char
* str_r )
32
: _id( ::pool_str2id( myPool().getPool(), str_r,
/*create*/
true ) )
33
{}
34
35
IdString::IdString
(
const
std::string & str_r )
36
: _id( ::pool_str2id( myPool().getPool(), str_r.c_str(),
/*create*/
true ) )
37
{}
38
39
unsigned
IdString::size
()
const
40
{ return ::strlen(
c_str
() ); }
41
42
const
char
*
IdString::c_str
()
const
43
{
return
_id
? ::pool_id2str(
myPool
().getPool(),
_id
) :
""
; }
44
45
int
IdString::compare
(
const
IdString
& rhs )
const
46
{
47
if
(
_id
== rhs.
_id
)
48
return
0;
49
// Explicitly handle IdString::Null < ""
50
if
( !
_id
)
51
return
-1;
52
if
( ! rhs.
_id
)
53
return
1;
54
return ::strcmp(
c_str
(), rhs.
c_str
() );
55
}
56
57
int
IdString::compare
(
const
char
* rhs )
const
58
{
59
// Explicitly handle IdString::Null == (const char *)0
60
if
( !
_id
)
61
return
rhs ? -1 : 0;
62
if
( ! rhs )
63
return
_id
? 1 : 0;
64
return ::strcmp(
c_str
(), rhs );
65
}
66
67
/******************************************************************
68
**
69
** FUNCTION NAME : operator<<
70
** FUNCTION TYPE : std::ostream &
71
*/
72
std::ostream &
operator<<
( std::ostream & str,
const
IdString
& obj )
73
{
74
return
str << obj.
c_str
();
75
}
76
77
std::ostream &
dumpOn
( std::ostream & str,
const
IdString
& obj )
78
{
79
return
str <<
'('
<< obj.
id
() <<
')'
<< obj.
c_str
();
80
}
81
83
}
// namespace zypp
zypp
IdString.cc
Generated by
1.8.1