libzypp  17.1.1
zypp::Arch::CompatEntry Struct Reference

Holds an architecture ID and it's compatible relation. More...

Public Types

typedef bit::BitField< uint64_t > CompatBits
 Bitfield for architecture IDs and compatBits relation. More...
 

Public Member Functions

 CompatEntry (const std::string &archStr_r, CompatBits::IntT idBit_r=1)
 
 CompatEntry (IdString archStr_r, CompatBits::IntT idBit_r=1)
 
void addCompatBit (const CompatBits &idBit_r) const
 
bool compatibleWith (const CompatEntry &targetEntry_r) const
 Return whether this is compatible with targetEntry_r. More...
 
int compare (const CompatEntry &rhs) const
 compare by score, then archStr. More...
 
bool isBuiltIn () const
 
IdString::IdType id () const
 

Public Attributes

IdString _idStr
 
std::string _archStr
 
CompatBits _idBit
 
CompatBits _compatBits
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Arch::CompatEntry &obj)
 
bool operator== (const Arch::CompatEntry &lhs, const Arch::CompatEntry &rhs)
 
bool operator!= (const Arch::CompatEntry &lhs, const Arch::CompatEntry &rhs)
 

Detailed Description

Holds an architecture ID and it's compatible relation.

An architecture is compatibleWith, if it's _idBit is set in _compatBits. noarch has ID 0, non builtin archs ID 1 and have to be treated specialy.

Definition at line 38 of file Arch.cc.

Member Typedef Documentation

◆ CompatBits

Bitfield for architecture IDs and compatBits relation.

Note
Need one bit for each builtin Arch.
Todo:
Migrate to some infinite BitField

Definition at line 44 of file Arch.cc.

Constructor & Destructor Documentation

◆ CompatEntry() [1/2]

zypp::Arch::CompatEntry::CompatEntry ( const std::string &  archStr_r,
CompatBits::IntT  idBit_r = 1 
)
inline

Definition at line 46 of file Arch.cc.

◆ CompatEntry() [2/2]

zypp::Arch::CompatEntry::CompatEntry ( IdString  archStr_r,
CompatBits::IntT  idBit_r = 1 
)
inline

Definition at line 54 of file Arch.cc.

Member Function Documentation

◆ addCompatBit()

void zypp::Arch::CompatEntry::addCompatBit ( const CompatBits idBit_r) const
inline

Definition at line 62 of file Arch.cc.

◆ compatibleWith()

bool zypp::Arch::CompatEntry::compatibleWith ( const CompatEntry targetEntry_r) const
inline

Return whether this is compatible with targetEntry_r.

Definition at line 71 of file Arch.cc.

◆ compare()

int zypp::Arch::CompatEntry::compare ( const CompatEntry rhs) const
inline

compare by score, then archStr.

Definition at line 89 of file Arch.cc.

◆ isBuiltIn()

bool zypp::Arch::CompatEntry::isBuiltIn ( ) const
inline

Definition at line 96 of file Arch.cc.

◆ id()

IdString::IdType zypp::Arch::CompatEntry::id ( ) const
inline

Definition at line 99 of file Arch.cc.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  str,
const Arch::CompatEntry obj 
)
related

Stream output

Definition at line 110 of file Arch.cc.

◆ operator==()

bool operator== ( const Arch::CompatEntry lhs,
const Arch::CompatEntry rhs 
)
related

Definition at line 124 of file Arch.cc.

◆ operator!=()

bool operator!= ( const Arch::CompatEntry lhs,
const Arch::CompatEntry rhs 
)
related

Definition at line 127 of file Arch.cc.

Member Data Documentation

◆ _idStr

IdString zypp::Arch::CompatEntry::_idStr

Definition at line 102 of file Arch.cc.

◆ _archStr

std::string zypp::Arch::CompatEntry::_archStr

Definition at line 103 of file Arch.cc.

◆ _idBit

CompatBits zypp::Arch::CompatEntry::_idBit

Definition at line 104 of file Arch.cc.

◆ _compatBits

CompatBits zypp::Arch::CompatEntry::_compatBits
mutable

Definition at line 105 of file Arch.cc.


The documentation for this struct was generated from the following file: