printItem(item, typename ldp_serialization::ItemType<Item>::result());
}
+ template <typename BasicList>
+ void printBasicList(const BasicList &list) {
+ auto end = __db.containerGetIteratorEnd(list);
+ for (auto j = __db.containerGetIterator(list); j != end; j++) {
+ __stream << *j << " ";
+ }
+ }
+
+ template <typename Policy>
+ void printIndex(const Policy &, std::false_type) {
+ // no index - no printing
+ }
+
+ template <typename Policy>
+ void printIndex(const Policy &policy, std::true_type) {
+ __stream << "index: " << std::endl;
+ auto index = __db.policyGetIndex(policy);
+ auto end = __db.containerGetIteratorEnd(index);
+ for (auto i = __db.containerGetIterator(index); i != end; i++) {
+ __stream << __db.stringGetCStr(__db.policyIndexGetName(*i)) << ", best " << __db.policyIndexGetBestScore(*i) << ": ";
+ printBasicList(__db.policyIndexGetItemRefs(*i));
+ __stream << std::endl;
+ }
+ __stream << "prefix index: ";
+ printBasicList(__db.policyGetPrefixIndex(policy));
+ __stream << std::endl;
+ }
+
template <typename Policy>
void printPolicy(const Policy &policy, ldp_serialization::ItemsType) {
auto items = __db.policyGetItems(policy);
printItem(*i);
__stream << std::endl;
}
+
+ printIndex(policy, typename ldp_serialization::PolicyHasIndex<Policy>::result());
}
template <typename PolicyOwnNode>
auto policyGetPrefixIndex(const Policy *policy) const
{ return policy->prefix_index(); }
+ auto policyIndexGetName(const FB::NameScoresPair *p) const
+ { return p->name(); }
+
auto policyIndexGetBestScore(const FB::NameScoresPair *p) const
{ return p->best_score(); }