Switching to linux for development of pglab.

Switched from qmake to cmake. Code changes to make it compile.
This commit is contained in:
Eelke Klein 2017-08-23 08:10:01 +02:00
parent dd9906dbd8
commit 04723a289b
142 changed files with 124 additions and 83 deletions

47
pglab/Pgsql_Value.h Normal file
View file

@ -0,0 +1,47 @@
#ifndef PGSQL_VALUE_H
#define PGSQL_VALUE_H
#include "Pgsql_declare.h"
#include <QString>
#include <QDateTime>
namespace Pgsql {
/** \brief Class that is returned as value of a cell to facilitate auto conversion.
*/
class Value {
public:
Value(const char *val, Oid typ);
QString asQString() const;
const char* c_str() const { return m_val; }
operator QString() const;
operator QDateTime() const;
operator std::string() const;
operator short() const;
operator int() const;
operator Oid() const;
operator long long() const;
operator bool() const;
private:
const char *m_val;
Oid m_typ;
};
// void operator<<(QString &s, const Value &v);
// void operator<<(QDateTime &l, const Value &v);
// void operator<<(std::string &l, const Value &v);
// void operator<<(short &l, const Value &v);
// void operator<<(int &l, const Value &v);
// void operator<<(Oid &l, const Value &v);
// void operator<<(__int64 &l, const Value &v);
// void operator<<(bool &l, const Value &v);
template <typename T>
void operator<<(T &s, const Value &v)
{
s = static_cast<T>(v);
}
} // end namespace Pgsql
#endif // PGSQL_VALUE_H