11 #ifndef ZYPP_BASE_ENUMCLASS_H 12 #define ZYPP_BASE_ENUMCLASS_H 46 template<
typename TEnumDef>
47 class EnumClass :
public TEnumDef
50 using Enum =
typename TEnumDef::Enum;
53 EnumClass( Enum val_r ) : _val( val_r ) {}
64 Enum asEnum()
const {
return _val; }
75 Integral asIntegral()
const {
return static_cast<Integral
>(_val); }
77 friend bool operator==(
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val == rhs._val; }
78 friend bool operator!=(
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val != rhs._val; }
79 friend bool operator< (
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val < rhs._val; }
80 friend bool operator<=(
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val <= rhs._val; }
81 friend bool operator> (
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val > rhs._val; }
82 friend bool operator>=(
const EnumClass & lhs,
const EnumClass & rhs ) {
return lhs._val >= rhs._val; }
91 #endif // ZYPP_BASE_ENUMCLASS_H typename underlying_type< T >::type underlying_type_t
bool operator>(const IdString &lhs, const IdString &rhs)
relates: IdString Greater
bool operator>=(const IdString &lhs, const IdString &rhs)
relates: IdString GreaterEqual
bool operator==(const SetRelationMixin< Derived > &src, const SetRelationMixin< Derived > &trg)
relates: SetRelationMixin Equal
bool operator!=(const SetRelationMixin< Derived > &src, const SetRelationMixin< Derived > &trg)
relates: SetRelationMixin Unequal
bool operator<=(const IdString &lhs, const IdString &rhs)
relates: IdString LessEqual
bool operator<(const Capability &lhs, const Capability &rhs)
relates: Capability Arbitrary order.
Easy-to use interface to the ZYPP dependency resolver.