1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
//////////////////////////////////////////////////////////////////////////
//
// pgScript - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGSEXPRESSION_H_
#define PGSEXPRESSION_H_
#include "pgscript/pgScript.h"
#include "pgscript/utilities/pgsCopiedPtr.h"
class pgsProgram;
class pgsVariable;
WX_DECLARE_STRING_HASH_MAP(pgsCopiedPtr<pgsVariable>, pgsVarMap);
typedef pgsCopiedPtr<pgsVariable> pgsOperand;
class pgsExpression
{
protected:
pgsExpression();
public:
virtual ~pgsExpression();
virtual pgsExpression *clone() const = 0;
/* pgsExpression(const pgsExpression & that); */
/* pgsExpression & operator =(const pgsExpression & that); */
public:
virtual wxString value() const = 0;
virtual pgsOperand eval(pgsVarMap &vars) const = 0;
};
#endif /*PGSEXPRESSION_H_*/
|