12#ifndef ZYPP_SAT_IDSTR_H
13#define ZYPP_SAT_IDSTR_H
19#include <boost/utility/string_ref_fwd.hpp>
56 explicit IdString(
const char * str_r );
59 IdString(
const char * str_r,
unsigned len_r );
62 explicit IdString(
const std::string & str_r );
65 explicit IdString( boost::string_ref str_r );
67#ifdef __cpp_lib_string_view
68 explicit IdString( std::string_view str_r )
69 :
IdString( str_r.data(), str_r.size() )
82 constexpr explicit operator bool()
const
92 unsigned size()
const;
96 const char * c_str()
const;
103 explicit operator std::string()
const
106#ifdef __cpp_lib_string_view
108 std::string_view asStringView()
const
109 {
return { c_str(), size() }; }
112 explicit operator std::string_view()
const
113 {
return asStringView(); }
119 {
return(
_id == rhs.
id() ); }
122 int compare(
const IdString & rhs )
const;
125 int compare(
const char * rhs )
const;
129 {
return compare( rhs.c_str() ); }
152 {
return lhs.
compare( rhs ) == 0; }
155 {
return lhs.
compare( rhs ) == 0; }
158 {
return rhs.
compare( lhs ) == 0; }
161 {
return rhs.
compare( lhs ) == 0; }
168 {
return lhs.
compare( rhs ) != 0; }
171 {
return lhs.
compare( rhs ) != 0; }
174 {
return rhs.
compare( lhs ) != 0; }
177 {
return rhs.
compare( lhs ) != 0; }
181 {
return lhs.
compare( rhs ) < 0; }
184 {
return lhs.
compare( rhs ) < 0; }
187 {
return lhs.
compare( rhs ) < 0; }
190 {
return rhs.
compare( lhs ) >= 0; }
193 {
return rhs.
compare( lhs ) >= 0; }
197 {
return lhs.
compare( rhs ) <= 0; }
200 {
return lhs.
compare( rhs ) <= 0; }
203 {
return lhs.
compare( rhs ) <= 0; }
206 {
return rhs.
compare( lhs ) > 0; }
209 {
return rhs.
compare( lhs ) > 0; }
213 {
return lhs.
compare( rhs ) > 0; }
216 {
return lhs.
compare( rhs ) > 0; }
219 {
return lhs.
compare( rhs ) > 0; }
222 {
return rhs.
compare( lhs ) <= 0; }
225 {
return rhs.
compare( lhs ) <= 0; }
229 {
return lhs.
compare( rhs ) >= 0; }
232 {
return lhs.
compare( rhs ) >= 0; }
235 {
return lhs.
compare( rhs ) >= 0; }
238 {
return rhs.
compare( lhs ) < 0; }
241 {
return rhs.
compare( lhs ) < 0; }
Access to the sat-pools string space.
constexpr IdString(IdType id_r)
Ctor from id.
bool operator>=(const IdString &lhs, const IdString &rhs)
GreaterEqual.
const char * c_str() const
Conversion to const char *
int compare(const IdString &rhs) const
Compare IdString returning -1,0,1.
bool operator!=(const IdString &lhs, const IdString &rhs)
NotEqual.
int compare(const std::string &rhs) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
sat::detail::IdType IdType
constexpr bool empty() const
Whether the string is empty.
bool operator>(const IdString &lhs, const IdString &rhs)
Greater.
bool operator==(const IdString &lhs, const IdString &rhs)
Equal.
IdType id() const
Expert backdoor.
static const IdString Null
No or Null string ( Id 0 ).
static const IdString Empty
Empty string.
std::string asString() const
Conversion to std::string
bool operator<=(const IdString &lhs, const IdString &rhs)
LessEqual.
bool compareEQ(const IdString &rhs) const
Fast compare equal.
bool operator<(const IdString &lhs, const IdString &rhs)
Less.
constexpr IdString()
Default ctor, empty string.
String related utilities and Regular expression matching.
static const IdType emptyId(1)
static const IdType noId(0)
int IdType
Generic Id type.
Easy-to use interface to the ZYPP dependency resolver.
bool operator<(const StrMatcher &lhs, const StrMatcher &rhs)
bool operator==(const SetRelation::Enum &lhs, const SetCompare &rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool operator>(const IdString &lhs, const char *rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
std::unordered_set< IdString > IdStringSet
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
bool operator>=(const IdString &lhs, const char *rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
bool operator!=(const SetRelation::Enum &lhs, const SetCompare &rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
std::string asString(const Patch::Category &obj)
bool operator<=(const IdString &lhs, const char *rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Backlink to the associated PoolImpl.
Provides API related macros.
#define ZYPP_DEFINE_ID_HASHABLE(C)
Define hash function for id based classes.