23 #include <type_traits>
35 template<
typename QOBJECT>
38 if (!_obj->parent()) _obj->deleteLater();
47 template<
typename T,
typename A>
48 T
mix(
const T& _x,
const T& _y, A _a)
50 return _x * (1.0 - _a) + _y * _a;
54 QString
fileToStr(
const QString& _filename);
77 template<
typename T,
typename F>
81 if (_a.size() != _b.size())
return false;
84 size_t _size = _a.size();
86 for (
size_t i = 0; i < _size; ++i)
89 if (!f(_a[i], _b[i]))
return false;
98 typedef typename T::value_type value_type;
99 typedef typename value_type::element_type element_type;
104 template<
typename ENUM>
106 ->typename std::underlying_type<ENUM>::type
108 return static_cast<typename std::underlying_type<ENUM>::type
>(_v);
112 template<
typename ENUM,
typename INT>
114 return static_cast<ENUM
>(_i);
123 qDebug() << __FILE__ << ":" << __LINE__ << "\t" << __FUNCTION__
125 #define OMNI_TEST_MEMBER_EQUAL(member) \
126 (_lhs.member == _rhs.member)
128 #define OMNI_TEST_PTR_MEMBER_EQUAL(member) \
129 omni::util::testPtrEqual(_lhs.member.get(), _rhs.member.get())
QString fileToStr(const QString &_filename)
Return content of file from a file name.
Definition: util.cpp:29
std::unique_ptr< T, QtDeleter > QUniquePtr
QUniquePtr for QObjects.
Definition: util.h:44
QString removeFileExt(QString const &_filename)
Remove file extension and return string without file extension.
Definition: util.cpp:37
bool fileExists(QString const &_filename)
Checks if file exists and is actually a file and not a directory.
Definition: util.cpp:49
void operator()(QOBJECT *_obj)
Definition: util.h:36
ENUM intToEnum(INT _i)
Converts an integer to enum.
Definition: util.h:113
bool testPtrVectorEqual(T const &_a, T const &_b, F f)
Test if two vectors which hold unique_ptr's of SerializationInterfaces.
Definition: util.h:78
T mix(const T &_x, const T &_y, A _a)
Linear interpolation between two values.
Definition: util.h:48
bool testPtrEqual(T const *_a, T const *_b)
Test if two instances (which inherit from SerializationInterface) have.
Definition: util.h:65
auto enumToInt(ENUM const &_v) -> typename std::underlying_type< ENUM >::type
Converts an enum class to integer.
Definition: util.h:105
Pointer deleter functor.
Definition: util.h:33