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 bool operator!=(const OriginEndpoint &lhs, const OriginEndpoint &rhs)
needed for find, two OriginEndpoint's are equal when the Urls match, currently settings are not compa...
typename underlying_type< T >::type underlying_type_t
bool operator==(const OriginEndpoint &lhs, const OriginEndpoint &rhs)
needed for find, two OriginEndpoint's are equal when the Urls match, currently settings are not compa...
bool operator<(const OriginEndpoint &lhs, const OriginEndpoint &rhs)
needed for std::set