Pathname GetFullname(const StorageBase &Q) { nstd::list<String> parentage; Label const &label = Q.GetLabel(); if (!label.ToString().empty()) parentage.push_back(label.ToString()); Object parent = Q.GetParent(); for (; parent.Valid(); parent = parent.GetParent()) parentage.push_front(GetStorageBase(parent).GetLabel().ToString()); StringStream path; if (!parentage.empty()) ;//path << "[anon]"; else path.Append('/'); foreach (String const &name, parentage) { path.Append(name); path.Append('/'); }