zypp::Arch Class Reference

Architecture. More...

#include <Arch.h>

List of all members.

Public Types

typedef std::set< Arch, CompareByGT<
Arch > > 
CompatSet
 Reversed arch order, best Arch first.

Public Member Functions

 Arch ()
 Default ctor 'noarch'.
 Arch (const std::string &rhs)
 Ctor from string.
const std::string & asString () const
 String representation of Arch.
bool empty () const
 Test for an empty Arch (this is "", not Arch_noarch).
bool compatibleWith (const Arch &targetArch_r) const
 Compatibility relation.
int compare (const Arch &rhs) const
 Arch comparison.

Static Public Member Functions

static int compare (const Arch &lhs, const Arch &rhs)
 Arch comparison (static version).
static CompatSet compatSet (const Arch &targetArch_r)
 Return a set of all Arch's with a targetArch_r.
static std::string asString (const CompatSet &cset)

Private Member Functions

 Arch (const CompatEntry &)

Private Attributes

const CompatEntry_entry

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Arch &obj)
Equality based on string value.
bool operator== (const Arch &lhs, const Arch &rhs)
bool operator== (const Arch &lhs, const std::string &rhs)
bool operator== (const std::string &lhs, const Arch &rhs)
bool operator!= (const Arch &lhs, const Arch &rhs)
bool operator!= (const Arch &lhs, const std::string &rhs)
bool operator!= (const std::string &lhs, const Arch &rhs)

Classes

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


Detailed Description

Architecture.

Definition at line 34 of file Arch.h.


Member Typedef Documentation

typedef std::set<Arch,CompareByGT<Arch> > zypp::Arch::CompatSet
 

Reversed arch order, best Arch first.

Definition at line 74 of file Arch.h.


Constructor & Destructor Documentation

zypp::Arch::Arch  ) 
 

Default ctor 'noarch'.

Definition at line 361 of file Arch.cc.

References _entry.

zypp::Arch::Arch const std::string &  rhs  )  [explicit]
 

Ctor from string.

Definition at line 370 of file Arch.cc.

References _entry.

zypp::Arch::Arch const CompatEntry  )  [private]
 

Definition at line 379 of file Arch.cc.

References _entry.


Member Function Documentation

const std::string & zypp::Arch::asString  )  const
 

String representation of Arch.

Definition at line 388 of file Arch.cc.

References zypp::Arch::CompatEntry::_archStr, and _entry.

Referenced by asString(), empty(), operator<<(), operator==(), and zypp::storage::toXML().

bool zypp::Arch::empty  )  const [inline]
 

Test for an empty Arch (this is "", not Arch_noarch).

Definition at line 48 of file Arch.h.

References asString().

Referenced by zypp::Resolvable::Impl::Impl().

bool zypp::Arch::compatibleWith const Arch targetArch_r  )  const
 

Compatibility relation.

Returns:
True iff this is compatible with targetArch_r.
 Arch_noarch.compatibleWith( ... )       ==> always true;
 Arch_i686.compatibleWith( Arch_x86_64 ) ==> true;
 Arch_x86_64.compatibleWith( Arch_i686 ) ==> false;

Definition at line 396 of file Arch.cc.

References _entry, and zypp::Arch::CompatEntry::compatibleWith().

Referenced by zypp::source::susetags::PackagesLangParser::consume(), and zypp::ArchCompatibleWith::operator()().

int zypp::Arch::compare const Arch rhs  )  const
 

Arch comparison.

Primary key is the number of compatible Archs, then the string representation. Thus Arch_noarch is the least Arch.

Definition at line 404 of file Arch.cc.

References _entry, and zypp::Arch::CompatEntry::compare().

Referenced by zypp::NVRA::compare(), and compare().

static int zypp::Arch::compare const Arch lhs,
const Arch rhs
[inline, static]
 

Arch comparison (static version).

Definition at line 69 of file Arch.h.

References compare().

Arch::CompatSet zypp::Arch::compatSet const Arch targetArch_r  )  [static]
 

Return a set of all Arch's with a targetArch_r.

Note:
The set is ordered according to compare, thus iterating will start at Arch_noarch.
 Arch::CompatSet cset( Arch::compatSet( Arch_x86_64 ) );

 cout << str::join( make_transform_iterator( cset.begin(), std::mem_fun_ref(&Arch::asString) ),
                    make_transform_iterator( cset.end(), std::mem_fun_ref(&Arch::asString) ) )
      << endl;

 // Prints: x86_64 athlon i686 i586 i486 i386 noarch

Definition at line 412 of file Arch.cc.

References _entry.

static std::string zypp::Arch::asString const CompatSet cset  )  [inline, static]
 

Definition at line 92 of file Arch.h.

References asString(), and zypp::str::join().


Friends And Related Function Documentation

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

stream output.

Definition at line 146 of file Arch.h.

References asString().

bool operator== const Arch lhs,
const Arch rhs
[related]
 

Definition at line 152 of file Arch.h.

References asString().

bool operator== const Arch lhs,
const std::string &  rhs
[related]
 

Definition at line 156 of file Arch.h.

References asString().

bool operator== const std::string &  lhs,
const Arch rhs
[related]
 

Definition at line 160 of file Arch.h.

References asString().

bool operator!= const Arch lhs,
const Arch rhs
[related]
 

Definition at line 164 of file Arch.h.

bool operator!= const Arch lhs,
const std::string &  rhs
[related]
 

Definition at line 168 of file Arch.h.

bool operator!= const std::string &  lhs,
const Arch rhs
[related]
 

Definition at line 172 of file Arch.h.


Member Data Documentation

const CompatEntry* zypp::Arch::_entry [private]
 

Definition at line 102 of file Arch.h.

Referenced by Arch(), asString(), compare(), compatibleWith(), and compatSet().


The documentation for this class was generated from the following files:
Generated on Thu Jul 6 00:07:30 2006 for zypp by  doxygen 1.4.6