std::ostream& operator<<(std::ostream& os, const Name& name) { if (name.empty()) { os << "/"; } else { for (Name::const_iterator i = name.begin(); i != name.end(); i++) { os << "/"; i->toUri(os); } } return os; }
shared_ptr<RegexTopMatcher> RegexTopMatcher::fromName(const Name& name, bool hasAnchor) { std::string regexStr("^"); for (Name::const_iterator it = name.begin(); it != name.end(); it++) { regexStr.append("<"); regexStr.append(convertSpecialChar(it->toUri())); regexStr.append(">"); } if (hasAnchor) regexStr.append("$"); // On OSX 10.9, boost, and C++03 the following doesn't work without ndn:: // because the argument-dependent lookup prefers STL to boost return ndn::make_shared<RegexTopMatcher>(regexStr); }