*/
bool compatibleWith( const Arch & targetArch_r ) const;
+ /**
+ * \return the arch before noarch if it's not a multilib arch
+ * (e.g. x86_64,sparc64v,sparc64,ppc64,s390x).
+ */
+ Arch baseArch() const;
+
+ /** \overload static version. */
+ static Arch baseArch( const Arch & targetArch_r )
+ { return targetArch_r.baseArch(); }
+
/** Arch comparison.
* Compatible architectures are treated as \c less (i.e. <tt>i686>i386>noarch</tt>).
* So \c Arch_noarch is the least Arch. Equivalent architectures
extern const Arch Arch_s390;
/** \relates Arch */
+ extern const Arch Arch_ppc64le;
+
+ /** \relates Arch */
+ extern const Arch Arch_ppc64p7;
+ /** \relates Arch */
extern const Arch Arch_ppc64;
/** \relates Arch */
extern const Arch Arch_ppc;
extern const Arch Arch_sparc;
/** \relates Arch */
+ extern const Arch Arch_aarch64;
+
+ /** \relates Arch */
+ extern const Arch Arch_armv7tnhl; /* exists? */
+ /** \relates Arch */
+ extern const Arch Arch_armv7thl; /* exists? */
+
+ /** \relates Arch */
+ extern const Arch Arch_armv7hnl, /* legacy: */Arch_armv7nhl;
+ /** \relates Arch */
+ extern const Arch Arch_armv7hl;
+ /** \relates Arch */
+ extern const Arch Arch_armv6hl;
+
+ /** \relates Arch */
extern const Arch Arch_armv7l;
/** \relates Arch */
extern const Arch Arch_armv6l;
/** \relates Arch */
extern const Arch Arch_armv5tel;
/** \relates Arch */
+ extern const Arch Arch_armv5tl;
+ /** \relates Arch */
extern const Arch Arch_armv5l;
/** \relates Arch */
extern const Arch Arch_armv4tl;
extern const Arch Arch_sh4;
/** \relates Arch */
extern const Arch Arch_sh4a;
+
+ /** \relates Arch */
+ extern const Arch Arch_m68k;
+
+ /** \relates Arch */
+ extern const Arch Arch_mips;
+ /** \relates Arch */
+ extern const Arch Arch_mipsel;
+ /** \relates Arch */
+ extern const Arch Arch_mips64;
+ /** \relates Arch */
+ extern const Arch Arch_mips64el;
//@}
///////////////////////////////////////////////////////////////////
inline std::ostream & operator<<( std::ostream & str, const Arch & obj )
{ return str << obj.asString(); }
+ /** \relates Arch XML output. */
+ inline std::ostream & dumpAsXmlOn( std::ostream & str, const Arch & obj )
+ { return str << "<arch>" << obj << "</arch>"; }
+
/** \name Equality based on string value. */
//@{
/** \relates Arch */
{ /////////////////////////////////////////////////////////////////
/** \relates zypp::Arch Default order for std::container based Arch::compare.*/
template<>
+#ifdef __clang__
+constexpr
+#endif
inline bool less<zypp::Arch>::operator()( const zypp::Arch & lhs, const zypp::Arch & rhs ) const
{ return lhs.compare( rhs ) < 0; }
/////////////////////////////////////////////////////////////////