CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
h5_table.h
Go to the documentation of this file.
1// -*- C++ -*-
12#ifndef __cxz_h5_table_h__
13#define __cxz_h5_table_h__
14
15#include "h5_types.h"
16#include "h5_content_base.h"
17
18namespace CNORXZ
19{
20 namespace hdf5
21 {
114
124 template <typename... Ts>
126 {
127 public:
134 STable(const String& name, const ContentBase* _parent);
135
141 STable(const String& name, const ContentBase* _parent,
142 const Arr<String,sizeof...(Ts)>& fnames);
143
147 STable& initFields(const Arr<String,sizeof...(Ts)>& fnames);
148
152 STable& appendRecord(const Tuple<Ts...>& t);
153
158
162 MArray<Tuple<Ts...>> read() const;
163
167 template <class F>
168 decltype(auto) iterRecords(F&& f) const;
169 };
170
171 }
172}
173
174#endif
const String & name() const
STable & appendRecord(const MArray< Tuple< Ts... > > &t)
Table & readRecords(SizeT pos, SizeT n, char *data)
Definition h5_table.cc:146
MArray< DType > read() const
Definition h5_table.cc:168
const RangePtr & records() const
Definition h5_table.cc:189
virtual Table & close() override final
Definition h5_table.cc:83
virtual ContentType type() const override final
Definition h5_table.cc:63
MArray< SizeT > mSizes
Definition h5_table.h:105
const RangePtr & fields() const
Definition h5_table.cc:184
std::pair< SizeT, String > FieldID
Definition h5_table.h:28
Table & initTable(SizeT n, const void *data, SizeT dsize, SizeT chunk_size)
Definition h5_table.cc:120
virtual Table & open() override final
Definition h5_table.cc:73
Table & appendRecords(SizeT n, const void *data)
Definition h5_table.cc:137
decltype(auto) iterRecords(F &&f) const
Definition h5_table.cc.h:23
virtual bool exists() const override final
Definition h5_table.cc:103
Table(const String &name, const ContentBase *_parent)
Definition h5_table.cc:19
virtual String filename() const override final
Definition h5_table.cc:98
MArray< DType > readRecord(SizeT pos) const
Definition h5_table.cc:153
virtual String path() const override final
Definition h5_table.cc:93
Table & initFieldNames(const Vector< String > &fnames)
Definition h5_table.cc:108
MArray< std::function< DType(const char *)> mInterpret)
Definition h5_table.h:110
virtual bool ro() const override final
Definition h5_table.cc:68
MArray< hid_t > mTypes
Definition h5_table.h:107
MArray< SizeT > mOffsets
Definition h5_table.h:106
Abstract content base class declaration.
Declaration of hdf5 related library types.
std::string String
Definition types.h:42
uint64_t SizeT
Definition types.h:38
Sptr< RangeBase > RangePtr
Definition types.h:157
std::vector< T, Allocator< T > > Vector
Definition types.h:310
Sptr< Range > rangeCast(const RangePtr r)
std::tuple< T... > Tuple
Definition types.h:60
std::array< T, N > Arr
Definition types.h:45