12#ifndef __cxz_h5_group_h__
13#define __cxz_h5_group_h__
40 virtual bool ro()
const override;
45 virtual bool exists()
const override;
81 template <
typename...
Ts>
110 template <
typename...
Ts>
119 template <
typename T>
126 decltype(
auto)
iter(
F&&
f)
const;
138 decltype(
auto)
iter(
F&&
f);
154 template <
typename C,
class F>
158 auto cx = std::dynamic_pointer_cast<Group>(c);
160 if(
cx->get().range() !=
nullptr){
161 cx->iterRecursive(std::forward<F>(
f))();
const String & name() const
Group & addDataset(const String &name, const ArrayBase< T > &data)
const MArray< ContentPtr > & get() const
virtual String filename() const override
Sptr< Group > getGroup(const String &name) const
decltype(auto) iterRecursive(F &&f) const
Sptr< Dataset > getDataset(const String &name) const
decltype(auto) iter(F &&f) const
static void recursion(const C &c, F &&f)
MArray< ContentPtr > mCont
Sptr< Table > getTable(const String &name) const
virtual Group & close() override
Group & addTable(const String &name, const ArrayBase< Tuple< Ts... > > &data, const Arr< String, sizeof...(Ts)> &fnames)
Group & addGroup(const String &name)
virtual Group & open() override
virtual bool exists() const override
virtual ContentType type() const override
virtual bool ro() const override
AIndex< ContentPtr > getIndexTo(const String &name) const
virtual String path() const override
Group(const String &gname, const ContentBase *_parent)
Abstract content base class declaration.
Declaration of hdf5 related library types.
Sptr< ContentBase > ContentPtr
Sptr< Range > rangeCast(const RangePtr r)
std::shared_ptr< T > Sptr