+bool NodeMetadata::empty() const
+{
+ return Metadata::empty() && m_inventory->getLists().empty();
+}
+
+
+void NodeMetadata::markPrivate(const std::string &name, bool set)
+{
+ if (set)
+ m_privatevars.insert(name);
+ else
+ m_privatevars.erase(name);
+}
+
+int NodeMetadata::countNonPrivate() const
+{
+ // m_privatevars can contain names not actually present
+ // DON'T: return m_stringvars.size() - m_privatevars.size();
+ int n = 0;
+ for (const auto &sv : m_stringvars) {
+ if (!isPrivate(sv.first))
+ n++;
+ }
+ return n;
+}
+