//#include "INet4Address.mpp"
#define prefix_
-///////////////////////////////cc.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::INet4Address::INet4Address
prefix_ senf::INet4Address::INet4Address(address_type value)
return senf::INet4Address::from_inaddr(ina.s_addr);
if (s.empty())
- throw AddressSyntaxException();
+ throw AddressSyntaxException() << ": empty string";
int herr (0);
senf::INet4Address const senf::INet4Address::Loopback (0x7F000001u);
senf::INet4Address const senf::INet4Address::Broadcast (0xFFFFFFFFu);
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::INet4Network
prefix_ senf::INet4Network::INet4Network(std::string const & s)
{
std::string::size_type i (s.find('/'));
if (i == std::string::npos)
- throw AddressSyntaxException();
+ throw AddressSyntaxException(s);
try {
prefix_len_ = boost::lexical_cast<unsigned>(std::string(s,i+1));
} catch (boost::bad_lexical_cast const &) {
- throw AddressSyntaxException();
+ throw AddressSyntaxException(s);
}
address_ = INet4Address(INet4Address::from_string(std::string(s, 0, i)).address() & mask());
}
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// namespace members
prefix_ std::ostream & senf::operator<<(std::ostream & os, INet4Address const & addr)
return is;
}
-///////////////////////////////cc.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
//#include "INet4Address.mpp"