24 ipv4_part1(p1), ipv4_part2(p2), ipv4_part3(p3), ipv4_part4(p4) {
36 return ipv4 == rhs.ipv4;
40 return ipv4 > rhs.ipv4;
44 return ipv4 < rhs.ipv4;
70 void convertU32toU8() {
71 ipv4_part1 =
static_cast<uint8_t
>(ipv4 >> 24);
72 ipv4_part2 =
static_cast<uint8_t
>(ipv4 >> 16);
73 ipv4_part3 =
static_cast<uint8_t
>(ipv4 >> 8);
74 ipv4_part4 =
static_cast<uint8_t
>(ipv4);
78 void convertU8toU32() {
79 ipv4 = (
static_cast<uint32_t
>(ipv4_part1) << 24) +
80 (
static_cast<uint32_t
>(ipv4_part2) << 16) +
81 (
static_cast<uint32_t
>(ipv4_part3) << 8) +
82 static_cast<uint32_t
>(ipv4_part4);
89 std::input_iterator_tag,
105 return !(start == other.start);
109 return start == other.start;
130 if (startAddress == endAddress) {
131 throw std::invalid_argument(
"start and end are equal");
133 if (startAddress > endAddress) {
137 ipv4_Address temp = startAddress;
138 startAddress = endAddress;
144 ipv4_Address startAddress;
145 ipv4_Address endAddress;