Builds on windows again

This commit is contained in:
eelke 2017-11-26 13:07:21 +01:00
parent 33cf39b799
commit bebb3391c3
160 changed files with 138 additions and 117 deletions

48
pgsql/Pgsql_Value.h Normal file
View file

@ -0,0 +1,48 @@
#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