11#ifndef ZYPP_BASE_ENUMCLASS_H
12#define ZYPP_BASE_ENUMCLASS_H
16#include <zypp-core/base/PtrTypes.h>
46 template<
typename TEnumDef>
47 class EnumClass :
public TEnumDef
50 typedef typename TEnumDef::Enum Enum;
51 typedef typename std::underlying_type<Enum>::type Integral;
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; }
Easy-to use interface to the ZYPP dependency resolver.
bool operator==(const SetRelation::Enum &lhs, const SetCompare &rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool operator>=(const IdString &lhs, const char *rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool operator!=(const SetRelation::Enum &lhs, const SetCompare &rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool operator<=(const IdString &lhs, const char *rhs)
This is an overloaded member function, provided for convenience. It differs from the above function o...