aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_coding_scheme.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gprs_coding_scheme.h')
-rw-r--r--src/gprs_coding_scheme.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h
index f02ca51b..c26d12a7 100644
--- a/src/gprs_coding_scheme.h
+++ b/src/gprs_coding_scheme.h
@@ -52,7 +52,6 @@ public:
GprsCodingScheme(Scheme s = UNKNOWN);
operator bool() const {return m_scheme != UNKNOWN;}
- operator int() const {return (int)m_scheme;}
operator Scheme() const {return m_scheme;}
unsigned int to_num() const;
@@ -89,6 +88,8 @@ public:
static const char *modeName(Mode mode);
private:
+ GprsCodingScheme(int s); /* fail on use */
+ GprsCodingScheme& operator =(int s); /* fail on use */
enum Scheme m_scheme;
};
@@ -166,7 +167,7 @@ inline GprsCodingScheme GprsCodingScheme::getEgprsByNum(unsigned num)
/* The coding schemes form a partial ordering */
inline bool operator ==(GprsCodingScheme a, GprsCodingScheme b)
{
- return int(a) == int(b);
+ return GprsCodingScheme::Scheme(a) == GprsCodingScheme::Scheme(b);
}
inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b)
@@ -176,12 +177,13 @@ inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b)
inline bool operator <(GprsCodingScheme a, GprsCodingScheme b)
{
- return a.isCompatible(b) && int(a) < int(b);
+ return a.isCompatible(b) &&
+ GprsCodingScheme::Scheme(a) < GprsCodingScheme::Scheme(b);
}
inline bool operator >(GprsCodingScheme a, GprsCodingScheme b)
{
- return a.isCompatible(b) && int(a) > int(b);
+ return b < a;
}
inline bool operator <=(GprsCodingScheme a, GprsCodingScheme b)