Listing 2: ipaddr in action.
ipaddr& addr("10.0.0.1"); ipaddr& mask("255.255.255.0"); cout << "Subnet:" << (addr & mask).toString() << endl; cout << "Broadcast:" << (addr | (~ mask)).toString() << endl; // -- loop over class C and print out each address for ( ipaddr temp = (addr & mask) ; temp <= (addr | (~mask)) ; temp++ ) { cout << temp.toString() << endl; }