39 class BaseRecordComponentData :
virtual public AttributableData
61 BaseRecordComponentData(BaseRecordComponentData
const &) =
delete;
62 BaseRecordComponentData(BaseRecordComponentData &&) =
delete;
63 BaseRecordComponentData &
64 operator=(BaseRecordComponentData
const &) =
delete;
65 BaseRecordComponentData &operator=(BaseRecordComponentData &&) =
delete;
67 BaseRecordComponentData() =
default;
81class BaseRecordComponent :
virtual public Attributable
83 template <
typename T,
typename T_key,
typename T_container>
84 friend class Container;
99 BaseRecordComponent(BaseRecordComponent
const &other)
102 m_attri = other.m_attri;
103 m_baseRecordComponentData = other.m_baseRecordComponentData;
106 BaseRecordComponent(BaseRecordComponent &&other) : Attributable(
NoInit())
110 m_attri = std::move(other.m_attri);
112 m_baseRecordComponentData = std::move(other.m_baseRecordComponentData);
115 BaseRecordComponent &operator=(BaseRecordComponent
const &other)
117 m_attri = other.m_attri;
118 m_baseRecordComponentData = other.m_baseRecordComponentData;
122 BaseRecordComponent &operator=(BaseRecordComponent &&other)
126 m_attri = std::move(other.m_attri);
128 m_baseRecordComponentData = std::move(other.m_baseRecordComponentData);
132 double unitSI()
const;
134 BaseRecordComponent &resetDatatype(
Datatype);
147 std::optional<size_t> joinedDimension()
const;
170 std::shared_ptr<Data_t> m_baseRecordComponentData;
172 inline Data_t
const &get()
const
174 return *m_baseRecordComponentData;
179 return *m_baseRecordComponentData;
182 inline void setData(std::shared_ptr<Data_t> data)
184 m_baseRecordComponentData = std::move(data);
185 Attributable::setData(m_baseRecordComponentData);
188 virtual void setDatasetDefined(Data_t &);
190 bool datasetDefined()
const;
192 BaseRecordComponent();
193 BaseRecordComponent(
NoInit);