131 auto nlsa = std::static_pointer_cast<NameLsa>(lsa);
132 bool updated =
false;
137 std::list<ndn::Name> newNames = nlsa->getNpl().getNames();
138 std::list<ndn::Name> oldNames = m_npl.
getNames();
139 std::list<ndn::Name> nameRefToAdd;
140 std::list<PrefixInfo> namesToAdd;
142 std::set_difference(newNames.begin(), newNames.end(), oldNames.begin(), oldNames.end(),
143 std::inserter(nameRefToAdd, nameRefToAdd.begin()));
144 for (
const auto& name : nameRefToAdd) {
145 namesToAdd.push_back(nlsa->getNpl().getPrefixInfoForName(name));
146 addName(nlsa->getNpl().getPrefixInfoForName(name));
151 std::list<ndn::Name> nameRefToRemove;
152 std::list<PrefixInfo> namesToRemove;
153 std::set_difference(oldNames.begin(), oldNames.end(), newNames.begin(), newNames.end(),
154 std::inserter(nameRefToRemove, nameRefToRemove.begin()));
155 for (
const auto& name : nameRefToRemove) {
161 return {updated, namesToAdd, namesToRemove};