9 #include <boost/assign/list_of.hpp>
19 static const map<string, CommunityType::WellKnownCommunity>
30 static const map<CommunityType::WellKnownCommunity, string>
42 const string &comm, boost::system::error_code *perr) {
43 map<string, CommunityType::WellKnownCommunity>::const_iterator it =
48 size_t pos = comm.rfind(
':');
49 if (pos == string::npos) {
51 *perr = make_error_code(boost::system::errc::invalid_argument);
55 string first(comm.substr(0, pos));
58 asn = strtol(first.c_str(), &endptr, 10);
59 if (asn >= 65535 || *endptr !=
'\0') {
61 *perr = make_error_code(boost::system::errc::invalid_argument);
65 string second(comm, pos + 1);
67 num = strtol(second.c_str(), &endptr, 10);
68 if (num >= 65535 || *endptr !=
'\0') {
70 *perr = make_error_code(boost::system::errc::invalid_argument);
74 return (asn*65536 + num);
78 map<CommunityType::WellKnownCommunity, string>::const_iterator it =
static const std::string integerToString(const NumberType &num)