1 #ifndef EABSTRACTANALYTIC_BLOCK_H 2 #define EABSTRACTANALYTIC_BLOCK_H 3 #include "eabstractanalytic.h" 4 #include "eexception.h" 27 explicit Block() =
default;
31 template<
class T>
const T*
cast()
const;
33 template<
class T> T*
cast();
35 virtual void write(QDataStream& stream)
const;
36 virtual void read(QDataStream& stream);
62 const T* ret {qobject_cast<
const T*>(
this)};
66 e.setTitle(tr(
"Logic Error"));
67 e.setDetails(tr(
"Cannot convert abstract analytic block to given type."));
90 T* ret {qobject_cast<T*>(
this)};
94 e.setTitle(tr(
"Logic Error"));
95 e.setDetails(tr(
"Cannot convert abstract analytic block to given type."));
virtual void read(QDataStream &stream)
Definition: eabstractanalytic_block.cpp:166
virtual void write(QDataStream &stream) const
Definition: eabstractanalytic_block.cpp:147
QByteArray toBytes() const
Definition: eabstractanalytic_block.cpp:84
void fromBytes(const QByteArray &data)
Definition: eabstractanalytic_block.cpp:117
static int extractIndex(const QByteArray &data)
Definition: eabstractanalytic_block.cpp:21
friend EDebug & operator<<(EDebug &, const EAbstractAnalytic::Block *const)
Definition: common.cpp:268
int index() const
Definition: eabstractanalytic_block.cpp:66
Definition: eabstractanalytic_block.h:17
const T * cast() const
Definition: eabstractanalytic_block.h:57