|
@@ -52,6 +52,12 @@ public:
|
|
|
constexpr IP4 operator | (const IP4 &b) const { return IP4(l | b.l); }
|
|
|
constexpr IP4 operator ^ (const IP4 &b) const { return IP4(l ^ b.l); }
|
|
|
constexpr IP4 operator ~ () const { return IP4(~l); }
|
|
|
+ constexpr IP4 operator / (unsigned int n) const {
|
|
|
+ return IP4(n >= 32 ? l : l & ~(((uint32_t)1 << n)-1));
|
|
|
+ }
|
|
|
+ constexpr IP4 operator % (unsigned int n) const {
|
|
|
+ return IP4(n >= 32 ? 0 : l & (((uint32_t)1 << n)-1));
|
|
|
+ }
|
|
|
constexpr uint8_t operator [] (size_t n) const { return b[n]; }
|
|
|
uint8_t & operator [] (size_t n) { return b[n]; }
|
|
|
|