lsa: cleanup operator<<
Delete .toString() virtual function in favor of ostream output.
Delete Lsa::getOriginRouterCopy() in favor of a custom Boost.Multi-Index
key extractor.
Mark single-parameter constructor as 'explicit'.
Rewrite class-level Doxygen with ABNF syntax.
refs #5308
Change-Id: I3c43395ce86f9a1a52da186fcf8c5a15cf35fe40
diff --git a/src/lsdb.hpp b/src/lsdb.hpp
index 93e1ad9..7e1d9ad 100644
--- a/src/lsdb.hpp
+++ b/src/lsdb.hpp
@@ -118,6 +118,17 @@
return std::static_pointer_cast<T>(findLsa(router, T::type()));
}
+ struct ExtractOriginRouter
+ {
+ using result_type = ndn::Name;
+
+ ndn::Name
+ operator()(const Lsa& lsa) const
+ {
+ return lsa.getOriginRouter();
+ }
+ };
+
struct name_hash {
int
operator()(const ndn::Name& name) const {
@@ -143,7 +154,7 @@
bmi::tag<byName>,
bmi::composite_key<
Lsa,
- bmi::const_mem_fun<Lsa, ndn::Name, &Lsa::getOriginRouterCopy>,
+ ExtractOriginRouter,
bmi::const_mem_fun<Lsa, Lsa::Type, &Lsa::getType>
>,
bmi::composite_key_hash<name_hash, enum_class_hash>