virtual ContentBase & close()=0
const ContentBase * parent() const
virtual bool ro() const =0
const String & name() const
virtual bool exists() const =0
ContentBase & addAttribute(const String &name, const T &value)
std::map< String, DType > getAttributes() const
ContentBase(const String &_name, const ContentBase *_parent=nullptr)
bool attributeExists(const String &name) const
DEFAULT_MEMBERS(ContentBase)
std::map< String, DType > getRecursiveAttributes() const
virtual String path() const =0
const ContentBase * mParent
virtual String filename() const =0
DType getAttribute(const String &name) const
virtual ContentBase & open()=0
virtual ContentType type() const =0
virtual ~ContentBase()=default