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; }