~drizzle-trunk/drizzle/development

584.4.7 by Monty Taylor
Removed a big bank of includes from item.h.
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
4
 *  Copyright (C) 2008 Sun Microsystems
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
8
 *  the Free Software Foundation; version 2 of the License.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 *  GNU General Public License for more details.
14
 *
15
 *  You should have received a copy of the GNU General Public License
16
 *  along with this program; if not, write to the Free Software
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
 */
19
20
#ifndef DRIZZLED_COMP_CREATOR_H
21
#define DRIZZLED_COMP_CREATOR_H
22
1280.1.10 by Monty Taylor
Put everything in drizzled into drizzled namespace.
23
namespace drizzled
24
{
25
1122.2.13 by Monty Taylor
Header cleanup.
26
class Item;
584.4.7 by Monty Taylor
Removed a big bank of includes from item.h.
27
class Item_bool_func2;
28
29
class Comp_creator
30
{
31
public:
32
  Comp_creator() {}                           /* Remove gcc warning */
33
  virtual ~Comp_creator() {}                  /* Remove gcc warning */
34
  virtual Item_bool_func2* create(Item *a, Item *b) const = 0;
35
  virtual const char* symbol(bool invert) const = 0;
36
  virtual bool eqne_op() const = 0;
37
  virtual bool l_op() const = 0;
38
};
39
40
typedef Comp_creator* (*chooser_compare_func_creator)(bool invert);
41
584.1.15 by Monty Taylor
The mega-patch from hell. Renamed sql_class to session (since that's what it is) and removed it and field and table from common_includes.
42
Comp_creator *comp_eq_creator(bool invert);
43
Comp_creator *comp_ge_creator(bool invert);
44
Comp_creator *comp_gt_creator(bool invert);
45
Comp_creator *comp_le_creator(bool invert);
46
Comp_creator *comp_lt_creator(bool invert);
47
Comp_creator *comp_ne_creator(bool invert);
48
1280.1.10 by Monty Taylor
Put everything in drizzled into drizzled namespace.
49
} /* namespace drizzled */
50
584.4.7 by Monty Taylor
Removed a big bank of includes from item.h.
51
#endif /* DRIZZLED_COMP_CREATOR_H */