zypp::Arch::CompatEntry Struct Reference

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

List of all members.

Public Types

typedef bit::BitField< uint64_t > CompatBits
 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
unsigned _compatScore

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

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

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

Definition at line 46 of file Arch.cc.

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

Definition at line 55 of file Arch.cc.


Member Function Documentation

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

Definition at line 64 of file Arch.cc.

References _compatBits, and _compatScore.

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

Return whether this is compatible with targetEntry_r.

Definition at line 74 of file Arch.cc.

References _archStr, _compatBits, _idBit, and zypp::bit::BitField< _IntT >::value().

Referenced by zypp::Arch::compatibleWith().

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

compare by score, then archStr.

Definition at line 92 of file Arch.cc.

References _archStr, and _compatScore.

Referenced by zypp::Arch::compare().

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

Definition at line 99 of file Arch.cc.

References _idBit.

Referenced by zypp::Arch::isBuiltIn().

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

Definition at line 102 of file Arch.cc.

References _idStr, and zypp::IdString::id().


Friends And Related Function Documentation

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

Stream output

Definition at line 114 of file Arch.cc.

References _archStr, _compatBits, _compatScore, _idBit, zypp::str::form(), and zypp::str::numstring().

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

Definition at line 128 of file Arch.cc.

References _idStr.

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

Definition at line 131 of file Arch.cc.


Member Data Documentation

Definition at line 105 of file Arch.cc.

Referenced by id(), zypp::Arch::idStr(), and operator==().

Definition at line 106 of file Arch.cc.

Referenced by zypp::Arch::asString(), compare(), compatibleWith(), and operator<<().

Definition at line 107 of file Arch.cc.

Referenced by compatibleWith(), isBuiltIn(), and operator<<().

Definition at line 108 of file Arch.cc.

Referenced by addCompatBit(), compatibleWith(), and operator<<().

Definition at line 109 of file Arch.cc.

Referenced by addCompatBit(), compare(), and operator<<().


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

doxygen