libzypp: zypp::Arch::CompatEntry Struct Reference

libzypp 17.38.5

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

## Related Symbols
(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

using zypp::Arch::CompatEntry::CompatBits = bit::BitField<uint64_t>

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

- zypp/Arch.cc