34 # if defined(Q_OS_WIN) 35 # if defined(KLF_SRC_BUILD) 36 # define KLF_EXPORT __declspec(dllexport) 38 # define KLF_EXPORT __declspec(dllimport) 41 # define KLF_EXPORT __attribute__((visibility("default"))) 56 #if defined(Q_CC_GNU) && !defined(__INSURE__) 57 __attribute__ ((
format (printf, 1, 2)))
61 #define klfFmtCC (const char*)klfFmt 67 #define klfFmtDoubleCC (const char*)klfFmtDouble 70 #define KLF_FUNC_SINGLE_RUN \ 71 { static bool first_run = true; if ( ! first_run ) return; first_run = false; } 74 #define KLF_DECLARE_PRIVATE(ClassName) \ 76 ClassName##Private *d; \ 77 friend struct ClassName##Private; \ 78 inline ClassName##Private * d_func() { return d; } \ 79 inline const ClassName##Private * d_func() const { return d; } 81 #define KLF_PRIVATE_HEAD(ClassName) \ 82 private: ClassName *K; \ 83 public: ClassName * parentClass() const { return K; } \ 84 public: ClassName##Private (ClassName * ptr) : K(ptr) 85 #define KLF_PRIVATE_INHERIT_HEAD(ClassName, BaseInit) \ 86 private: ClassName *K; \ 87 public: ClassName * parentClass() const { return K; } \ 88 public: ClassName##Private (ClassName * ptr) BaseInit, K(ptr) 89 #define KLF_PRIVATE_QOBJ_HEAD(ClassName, QObj) \ 90 private: ClassName *K; \ 91 public: ClassName * parentClass() const { return K; } \ 92 public: ClassName##Private (ClassName * ptr) : QObj(ptr), K(ptr) 94 #define KLF_INIT_PRIVATE(ClassName) \ 95 do { d = new ClassName##Private(this); } while (0) 96 #define KLF_DELETE_PRIVATE \ 97 do { if (d != NULL) { delete d; } } while (0) 101 for (bool _klf_block_first = true; _klf_block_first; _klf_block_first = false) 103 #define KLF_TRY(expr, msg, failaction) \ 113 #define KLF_DEFINE_PROPERTY_GET(ClassName, type, prop) \ 114 type ClassName::prop() const { return d_func()->prop; } 116 #define KLF_DEFINE_PROPERTY_GETSET(ClassName, type, prop, Prop) \ 117 KLF_DEFINE_PROPERTY_GET(ClassName, type, prop) \ 118 void ClassName::set##Prop(type value) { d_func()->prop = value; } 120 #define KLF_DEFINE_PROPERTY_GETSET_C(ClassName, type, prop, Prop) \ 121 KLF_DEFINE_PROPERTY_GET(ClassName, type, prop) \ 122 void ClassName::set##Prop(const type& value) { d_func()->prop = value; }
KLF_EXPORT int klfVersionRelease()
KLF_EXPORT int klfVersionMin()
KLF_EXPORT int klfVersionMaj()
KLF_EXPORT bool klfVersionCompareLessThan(const QString &v1, const QString &v2)
Same as klfVersionCompare(v1,v2) < 0
KLF_EXPORT const char * klfVersion()
KLF_EXPORT int klfVersionCompare(const QString &v1, const QString &v2)
Compares two version strings.
KLF_EXPORT bool klfIsValidVersion(const QString &v)
KLF_EXPORT QByteArray klfFmtDouble(double num, char fmt='g', int precision=6)
KLF_EXPORT QByteArray klfFmt(const char *fmt,...)