Merged with changes of MS, some similar bug fixes done in parallel

This commit is contained in:
Klaus Basan
2013-04-30 02:34:15 +02:00
22 changed files with 126 additions and 228 deletions

View File

@@ -1,20 +0,0 @@
#include <QCoreApplication>
#include "blackmisc/debug.h"
#include "blackmisc/context.h"
#include <limits>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
BlackMisc::CApplicationContext myApplicationContext;
BlackMisc::IContext::getInstance().setSingleton(new BlackMisc::CDebug());
bAppInfo << "This is a Info log message";
bAppWarning << "This is a bWarning log message";
bAppError << "This is a bError log message";
bAppDebug << "This is a bDebug log message";
return a.exec();
}

View File

@@ -1,25 +0,0 @@
QT += core
QT -= gui
TARGET = sample_logging
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
DESTDIR = ../../bin

View File

@@ -7,18 +7,13 @@ TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src/blackmisc
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -9,24 +9,12 @@ TEMPLATE = app
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin
SOURCES += main.cpp \
samplesvectormatrix.cpp \
samplesgeo.cpp \
samplesgeodetictoecef.cpp
HEADERS += \
samplesvectormatrix.h \
samplesgeo.h \
samplesgeodetictoecef.h
SOURCES += *.cpp
HEADERS += *.h

View File

@@ -14,14 +14,12 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
HEADERS += *.h
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -13,15 +13,10 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
HEADERS += *.h
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -9,14 +9,12 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -6,22 +6,19 @@ CONFIG -= app_bundle
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
PRE_TARGETDEPS += ../../lib/blackcore.lib
LIBS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackcore.lib
}
LIBS += -L../../lib -lblackcore -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
PRE_TARGETDEPS += ../../lib/libblackcore.a
LIBS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackcore.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
../../lib/blackcore.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
../../lib/libblackcore.a
DESTDIR = ../../bin

View File

@@ -1,25 +0,0 @@
QT += core
QT -= gui
TARGET = sample_logging
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
DESTDIR = ../../bin

View File

@@ -10,14 +10,12 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -12,18 +12,14 @@ INCLUDEPATH += . ../../src
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
PRE_TARGETDEPS += ../../lib/blackcore.lib
LIBS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackcore.lib
}
LIBS += -L../../lib -lblackcore -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
PRE_TARGETDEPS += ../../lib/libblackcore.a
LIBS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackcore.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
../../lib/blackcore.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
../../lib/libblackcore.a
DESTDIR = ../../bin

View File

@@ -12,14 +12,9 @@ HEADERS += *.h
FORMS += blackbox.ui dialog_connect.ui dialog_chat.ui
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin

View File

@@ -2,11 +2,11 @@ QT += core gui xml svg network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = blackd
TEMPLATE = app
DEPENDPATH += ../blackmisc ../blackcore
DEPENDPATH += . ..
INCLUDEPATH += ..
SOURCES += *.cpp
@@ -15,19 +15,12 @@ HEADERS += *.h
FORMS += blackd.ui
RESOURCES += blackd.qrc
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
PRE_TARGETDEPS += ../../lib/blackcore.lib
LIBS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackcore.lib
}
LIBS += -L../../lib -lblackcore -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
PRE_TARGETDEPS += ../../lib/libblackcore.a
LIBS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackcore.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
../../lib/blackcore.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
../../lib/libblackcore.a
DESTDIR = ../../bin

View File

@@ -48,7 +48,7 @@ template <class UsingClass> class CBaseStreamStringifier
* \param uc
* \return
*/
friend QNoDebug &operator<<(QNoDebug &nodebug, const UsingClass &uc)
friend QNoDebug operator<<(QNoDebug nodebug, const UsingClass &uc)
{
return nodebug;
}
@@ -72,7 +72,7 @@ template <class UsingClass> class CBaseStreamStringifier
* \param uc
* \return
*/
friend CLogMessage &operator<<(CLogMessage &log, const UsingClass &uc)
friend CLogMessage operator<<(CLogMessage log, const UsingClass &uc)
{
const CBaseStreamStringifier &sf = uc; // allows to acces protected method
log << sf.stringForStreaming();

View File

@@ -97,7 +97,7 @@ template<class ImplMatrix, int Rows, int Columns> ImplMatrix &CMatrixBase<ImplMa
this->m_matrix(r, c) = CMath::roundEpsilon(this->m_matrix(r, c), 1E-10);
}
}
return static_cast<ImplMatrix &>(*this);
return *derived();
}
/*

View File

@@ -32,12 +32,21 @@ protected:
QString stringForConverter() const;
/*!
* \brief Clone as conrete implementation
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
ImplMatrix clone() const
ImplMatrix const* derived() const
{
return static_cast<ImplMatrix const &>(*this);
return static_cast<ImplMatrix const *>(this);
}
/*!
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
ImplMatrix* derived()
{
return static_cast<ImplMatrix *>(this);
}
public:
@@ -118,7 +127,7 @@ public:
*/
ImplMatrix operator *(double factor) const
{
ImplMatrix m = this->clone();
ImplMatrix m = *derived();
m *= factor;
return m;
}
@@ -159,7 +168,7 @@ public:
*/
ImplMatrix operator /(double factor) const
{
ImplMatrix m = this->clone();
ImplMatrix m = *derived();
m /= factor;
return m;
}
@@ -182,7 +191,7 @@ public:
*/
ImplMatrix operator +(const ImplMatrix &otherMatrix) const
{
ImplMatrix m = this->clone();
ImplMatrix m = *derived();
m += otherMatrix;
return m;
}
@@ -205,7 +214,7 @@ public:
*/
ImplMatrix operator -(const ImplMatrix &otherMatrix) const
{
ImplMatrix m = this->clone();
ImplMatrix m = *derived();
m -= otherMatrix;
return m;
}
@@ -225,8 +234,8 @@ public:
*/
bool isIdentityEpsilon() const
{
ImplMatrix m = this->clone().round();
return m.isIdentity();
ImplMatrix m = *derived();
return m.round().isIdentity();
}
/*!
@@ -260,8 +269,8 @@ public:
*/
bool isZeroEpsilon() const
{
ImplMatrix m = this->clone().round();
return m.isZero();
ImplMatrix m = *derived();
return m.round().isZero();
}
/*!

View File

@@ -62,14 +62,22 @@ protected:
virtual QString stringForConverter() const;
/*!
* \brief Clone as concrete implementation
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
ImplVector clone() const
ImplVector const* derived() const
{
return static_cast<ImplVector const &>(*this);
return static_cast<ImplVector const *>(this);
}
/*!
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
ImplVector* derived()
{
return static_cast<ImplVector *>(this);
}
public:
@@ -198,7 +206,7 @@ public:
*/
ImplVector operator +(const ImplVector &otherVector) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v += otherVector;
return v;
}
@@ -223,7 +231,7 @@ public:
*/
ImplVector operator -(const ImplVector &otherVector) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v -= otherVector;
return v;
}
@@ -248,7 +256,7 @@ public:
*/
ImplVector operator *(const ImplVector &otherVector) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v *= otherVector;
return v;
}
@@ -273,7 +281,7 @@ public:
*/
ImplVector operator *(double factor) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v *= factor;
return v;
}
@@ -309,7 +317,7 @@ public:
*/
ImplVector operator /(double divisor) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v /= divisor;
return v;
}
@@ -334,7 +342,7 @@ public:
*/
ImplVector operator /(const ImplVector &otherVector) const
{
ImplVector v = this->clone();
ImplVector v = *derived();
v /= otherVector;
return v;
}
@@ -413,7 +421,7 @@ public:
this->m_i = BlackMisc::Math::CMath::roundEpsilon(this->m_i, epsilon);
this->m_j = BlackMisc::Math::CMath::roundEpsilon(this->m_j, epsilon);
this->m_k = BlackMisc::Math::CMath::roundEpsilon(this->m_k, epsilon);
return static_cast<ImplVector &>(*this);
return *derived();
}
};

View File

@@ -193,7 +193,7 @@ template <class MU, class PQ> CPhysicalQuantity<MU, PQ> &CPhysicalQuantity<MU, P
*/
template <class MU, class PQ> PQ CPhysicalQuantity<MU, PQ>::operator -(const PQ &otherQuantity) const
{
PQ minus = this->clone();
PQ minus = *derived();
minus -= otherQuantity;
return minus;
}
@@ -212,7 +212,7 @@ template <class MU, class PQ> CPhysicalQuantity<MU, PQ> &CPhysicalQuantity<MU, P
*/
template <class MU, class PQ> PQ CPhysicalQuantity<MU, PQ>::operator *(double multiply) const
{
PQ times = this->clone();
PQ times = *derived();
times *= multiply;
return times;
}
@@ -231,7 +231,7 @@ template <class MU, class PQ> CPhysicalQuantity<MU, PQ> &CPhysicalQuantity<MU, P
*/
template <class MU, class PQ> PQ CPhysicalQuantity<MU, PQ>::operator /(double divide) const
{
PQ div = this->clone();
PQ div = *derived();
div /= divide;
return div;
}
@@ -286,7 +286,7 @@ template <class MU, class PQ> PQ &CPhysicalQuantity<MU, PQ>::switchUnit(const MU
this->m_unit = newUnit;
this->setUnitValue(cf);
}
return static_cast<PQ &>(*this);
return *derived();
}
/*

View File

@@ -60,12 +60,21 @@ protected:
}
/*!
* \brief Polymorphic clone as concrete class
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
PQ clone() const
PQ const* derived() const
{
return static_cast<PQ const &>(*this);
return static_cast<PQ const *>(this);
}
/*!
* \brief Easy access to derived class (CRTP template parameter)
* \return
*/
PQ* derived()
{
return static_cast<PQ *>(this);
}
/*!

View File

@@ -5,8 +5,9 @@
#ifndef BLACKMISC_PQUNITS_H
#define BLACKMISC_PQUNITS_H
#include "blackmisc/pqbase.h"
#include <math.h>
#include <QtCore/qmath.h>
//
// Used with the template for quantities. This is the reason for

View File

@@ -6,24 +6,17 @@ TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src/blackmisc
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
HEADERS += *.h
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
PRE_TARGETDEPS += ../../lib/blackcore.lib
LIBS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackcore.lib
}
LIBS += -L../../lib -lblackcore -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
PRE_TARGETDEPS += ../../lib/libblackcore.a
LIBS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackcore.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib \
../../lib/blackcore.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a \
../../lib/libblackcore.a
DESTDIR = ../../bin

View File

@@ -6,20 +6,15 @@ TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DEPENDPATH += . ../../src/blackmisc
DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src
HEADERS += *.h
SOURCES += *.cpp
win32-msvc* {
PRE_TARGETDEPS += ../../lib/blackmisc.lib
LIBS += ../../lib/blackmisc.lib
}
LIBS += -L../../lib -lblackmisc
!win32-msvc* {
PRE_TARGETDEPS += ../../lib/libblackmisc.a
LIBS += ../../lib/libblackmisc.a
}
win32:!win32-g++*: PRE_TARGETDEPS += ../../lib/blackmisc.lib
else: PRE_TARGETDEPS += ../../lib/libblackmisc.a
DESTDIR = ../../bin