00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TORC_COMMON_DOTTEDVERSION_HPP
00020 #define TORC_COMMON_DOTTEDVERSION_HPP
00021
00022 #include <boost/cstdint.hpp>
00023
00024 namespace torc {
00025 namespace common {
00026
00027
00028 struct DottedVersion {
00029 typedef boost::uint8_t uint8_t;
00030 uint8_t mMajor;
00031 uint8_t mMinor;
00032 uint8_t mRevision;
00033 uint8_t mReserved;
00034
00035 DottedVersion(uint8_t inMajor = 0, uint8_t inMinor = 0, uint8_t inRevision = 0,
00036 uint8_t inReserved = 0) : mMajor(inMajor), mMinor(inMinor), mRevision(inRevision),
00037 mReserved(inReserved) {}
00038
00039 bool operator ==(const DottedVersion& rhs) const {
00040 return mMajor == rhs.mMajor && mMinor == rhs.mMinor && mRevision == rhs.mRevision;
00041 }
00042 bool operator >(const DottedVersion& rhs) const {
00043 if(mMajor > rhs.mMajor) return true;
00044 if(mMajor < rhs.mMajor) return false;
00045 if(mMinor > rhs.mMinor) return true;
00046 if(mMinor < rhs.mMinor) return false;
00047 if(mRevision > rhs.mRevision) return true;
00048 return false;
00049 }
00050 bool operator >=(const DottedVersion& rhs) const {
00051 if(mMajor < rhs.mMajor) return false;
00052 if(mMajor > rhs.mMajor) return true;
00053 if(mMinor < rhs.mMinor) return false;
00054 if(mMinor > rhs.mMinor) return true;
00055 if(mRevision < rhs.mRevision) return false;
00056 return true;
00057 }
00058 bool operator <(const DottedVersion& rhs) const {
00059 if(mMajor < rhs.mMajor) return true;
00060 if(mMajor > rhs.mMajor) return false;
00061 if(mMinor < rhs.mMinor) return true;
00062 if(mMinor > rhs.mMinor) return false;
00063 if(mRevision < rhs.mRevision) return true;
00064 return false;
00065 }
00066 bool operator <=(const DottedVersion& rhs) const {
00067 if(mMajor > rhs.mMajor) return false;
00068 if(mMajor < rhs.mMajor) return true;
00069 if(mMinor > rhs.mMinor) return false;
00070 if(mMinor > rhs.mMinor) return true;
00071 if(mRevision > rhs.mRevision) return false;
00072 return true;
00073 }
00074 };
00075
00076 }
00077 }
00078
00079 #endif // TORC_COMMON_DOTTEDVERSION_HPP