1 /*
2     This file is part of GNU APL, a free implementation of the
3     ISO/IEC Standard 13751, "Programming Language APL, Extended"
4 
5     Copyright (C) 2008-2016  Dr. Jürgen Sauermann
6 
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef __Quad_SQL_HH_DEFINED__
22 #define __Quad_SQL_HH_DEFINED__
23 
24 #include "QuadFunction.hh"
25 #include "Value.hh"
26 
27 //-----------------------------------------------------------------------------
28 /**
29    The system function ⎕SQL
30  */
31 /// The class implementing ⎕SQL
32 class Quad_SQL : public QuadFunction
33 {
34 public:
35    /// Constructor.
36    Quad_SQL();
37 
38    /// Destructor
39    ~Quad_SQL();
40 
41    static Quad_SQL * fun;          ///< Built-in function.
42    static Quad_SQL  _fun;          ///< Built-in function.
43 
44 protected:
45    /// overloaded Function::eval_AB().
46    Token eval_AB(const Value_P A, const Value_P B);
47 
48    /// overloaded Function::eval_AXB().
49    Token eval_AXB(const Value_P A, const Value_P X, const Value_P B);
50 
51    /// overloaded Function::eval_B().
52    Token eval_B(Value_P B);
53 
54    /// overloaded Function::eval_XB().
55    Token eval_XB(Value_P X, Value_P B);
56 
57 // virtual Token eval_AB(Value_P A, Value_P B);
58 
59 };
60 //-----------------------------------------------------------------------------
61 
62 #endif // __Quad_SQL_HH_DEFINED__
63 
64 
65