libzypp 17.37.17
zypp::Arch::CompatEntry Struct Reference

Holds an architecture ID and its compatible relation. More...

Public Types

using CompatBits = bit::BitField<uint64_t>
 Bitfield for architecture IDs and compatBits relation.

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.
int compare (const CompatEntry &rhs) const
 compare by score, then archStr.
bool isBuiltIn () const
IdString::IdType id () const

Public Attributes

IdString _idStr
std::string _archStr
CompatBits _idBit
CompatBits _compatBits

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &str, const Arch::CompatEntry &obj)
 Stream output.
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 its compatible relation.

An architecture is compatibleWith, if its _idBit is set in _compatBits. noarch has ID 0, non-builtin archs have ID 1 and have to be treated specially.

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.

◆ 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: