Merge pull request #14 from QuasarApp/v1_1

V1 1
This commit is contained in:
Andrei Yankovich 2019-04-07 00:02:29 +03:00 committed by GitHub
commit 6d2c3c91fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 80 additions and 6 deletions

View File

@ -7,6 +7,7 @@
#
QT -= gui
CONFIG += c++17
TARGET = QuasarApp
TEMPLATE = lib
@ -35,14 +36,16 @@ SOURCES += \
quasarapp.cpp \
params.cpp \
locales.cpp \
settings.cpp
settings.cpp \
global.cpp
HEADERS += \
quasarapp.h \
quasarapp_global.h \
params.h \
locales.h \
settings.h
settings.h \
global.h
DISTFILES += \
QuasarLib.pri \
@ -51,5 +54,5 @@ DISTFILES += \
RESOURCES += \
res.qrc
VERSION = 1.1.4
VERSION = 1.1.5

View File

@ -14,9 +14,11 @@ CONFIG(release, debug|release): {
} else {
QUASARAPP_LIB_OUTPUT_DIR="$$PWD/build/debug"
}
unix:LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp
win32:LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp1
contains(QMAKE_HOST.os, Linux):{
LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp
} else {
LIBS += -L$$QUASARAPP_LIB_OUTPUT_DIR -lQuasarApp1
}
INCLUDEPATH += "$$PWD/"

1
global.cpp Normal file
View File

@ -0,0 +1 @@
#include "global.h"

67
global.h Normal file
View File

@ -0,0 +1,67 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <cstdlib>
#include <type_traits>
template <typename T>
constexpr inline T operator | (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) | static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator & (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) & static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator >> (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) >> static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator << (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) << static_cast<int>(rhs));
}
template <typename T>
constexpr inline T operator ~ (T lhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(~static_cast<int>(lhs));
}
template <typename T>
constexpr inline T operator ^ (T lhs, T rhs)
{
static_assert(std::is_enum<T>::value,
"template parameter is not an enum type");
return static_cast<T>(static_cast<int>(lhs) ^ static_cast<int>(rhs));
}
#endif // GLOBAL_H

View File

@ -11,6 +11,7 @@
#include "params.h"
#include "locales.h"
#include "settings.h"
#include "global.h"
/**
* @brief The QuasaraAppUtils class